Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Usando o laço while para pedir ao usuário que tente acertar um número aleatório entre 0 e 10 (incluindo) e mostrar a quantidade de tentativas feitas - Exercícios Resolvidos de JavaQuantidade de visualizações: 2303 vezes |
Pergunta/Tarefa: Escreva um programa Java que gera um número aleatório (randômico) entre 0 e 10 (incluindo estes dois valores) e peça ao usuário para adivinhá-lo. Use um laço while para registrar as tentativas feitas e, a cada tentativa, dê dicas informando se o número gerado é maior ou menor que a tentativa feita. Finalmente mostre a quantidade de tentativas feitas até que o número fosse acertado. Sua saída deverá ser parecida com a mostrada abaixo: Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package exercicios; import java.util.Scanner; public class Exercicios { public static void main(String[] args) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // declaração das variáveis int tentativas = 0, numeroLido; boolean acertou = false; // vamos gerar um número aleatório entre 0 e 10 int numero = (int)(Math.random() * 11); // um laço while que repetirá até que o número seja acertado while(!acertou){ System.out.print("Informe um número de 0 a 10: "); numeroLido = Integer.parseInt(entrada.nextLine()); tentativas++; if(numeroLido == numero){ // acertou? System.out.println("Parabéns! Você acertou em " + tentativas + " tentativas."); acertou = true; } else if(numeroLido < numero){ // o número informado é menor que o número gerado System.out.println("Errou! Tente um número maior."); } else{ // o número informado é maior que o número gerado System.out.println("Errou! Tente um número menor."); } } } } |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Dados - Listas Ligadas |
Exercícios Resolvidos de Java - Como remover no início de uma lista ligada em Java - Escreva um programa Java que cria uma lista dinamicamente encadeadaQuantidade de visualizações: 589 vezes |
Pergunta/Tarefa: Escreva um programa Java que cria uma lista dinamicamente encadeada (lista singularmente encadeada) e peça para o usuário inserir 5 elementos do tipo inteiro. Em seguida faça a remoção do nó no início da lista ligada e retorne o seu valor. Sua saída deve ser parecida com: Inserindo 5 valores na lista Informe o 1.o valor: 3 Informe o 2.o valor: 8 Informe o 3.o valor: 4 Informe o 4.o valor: 7 Informe o 5.o valor: 6 Valores na lista: 3 -> 8 -> 4 -> 7 -> 6 -> null Removendo no início da lista O nó removido foi: 3 Valores na lista novamente: 8 -> 4 -> 7 -> 6 -> null Na saída podemos ver que a lista contém os valores 3, 8, 4, 7 e 6. Depois que o nó no início é removido, os elementos da lista ficam 8, 4, 7 e 6. Veja a resolução comentada deste exercício usando Java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.Scanner; // classe interna usada para representar um // nó na lista ligada class No { int valor; // valor do nó No proximo; // aponta para o novo nó // construtor cheio da classe No public No(int valor, No proximo) { this.valor = valor; this.proximo = proximo; } // construtor vazio da classe No public No() { this.valor = 0; this.proximo = null; } } public class Estudos { // vamos criar uma referência para o início da lista static No inicio = null; public static void main(String args[]){ // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos inserir 5 valores inteiros na lista ligada int valor; System.out.println("Inserindo 5 valores na lista\n"); for (int i = 0; i < 5; i++) { System.out.print("Informe o " + (i + 1) + ".o valor: "); valor = Integer.parseInt(entrada.nextLine()); // vamos inserir este valor no final da lista inserirFinal(valor); } // vamos exibir os valores na lista ligada System.out.print("\nValores na lista: "); exibirLista(); // vamos remover o nó no início da lista ligada System.out.println("\nRemovendo no início da lista"); No removido = removerInicio(); System.out.println("O nó removido foi: " + removido.valor); // vamos exibir os valores na lista ligada System.out.print("\nValores na lista novamente: "); exibirLista(); } // função que permite remover o nó no início de uma lista // dinamicamente ligada em Java public static No removerInicio() { // primeiro apontamos para o início da lista No no = inicio; // a lista está vazia? if (no != null) { // o início da lista aponta para o seu próximo inicio = inicio.proximo; } // retorna o nó removido ou null no caso da lista vazia return no; } // função que permite adicionar um nó no final da // lista ligada public static void inserirFinal(int valor) { // vamos apontar para o nó inicial No atual = inicio; // criamos um novo nó No novo = criarNo(valor); // a lista ligada ainda está vazia? if (atual == null){ // inicio recebe o novo nó inicio = novo; } else { // temos um ou mais nós na lista ligada // vamos localizar o último nó while (atual.proximo != null) { atual = atual.proximo; } // encontramos o último nó. Agora vamos inserir // o novo nó depois dele atual.proximo = novo; } } // função usada para construir e retornar um novo nó public static No criarNo(int valor) { // cria o novo nó No no = new No(valor, null); // retorna o nó criado return no; } // função usada para percorrer a lista ligada e // exibir os valores contidos em seus nós public static void exibirLista() { // vamos apontar para o início da lista No temp = inicio; // a lista está vazia? if (temp == null) { System.out.println("A lista está vazia."); } else { // esse laço se repete enquanto tempo for // diferente de null while (temp != null) { // vamos mostrar o valor desse nó System.out.print(temp.valor + " -> "); // avança para o próximo nó temp = temp.proximo; } // mostra o final da lista System.out.println("null"); } } } |
Java ::: Coleções (Collections) ::: ArrayList |
Como escrever um método que retorna um objeto da classe ArrayList do JavaQuantidade de visualizações: 16244 vezes |
Em algumas situações precisamos escrever um método Java que retorna um objeto da classe ArrayList. Esta dica mostra como isso pode ser feito:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- import java.util.*; public class Estudos{ public static void main(String[] args){ // vamos obter o ArrayList do método abaixo ArrayList<String> lista = obterLista(); // vamos exibir os valores dos elementos for(int i = 0; i < lista.size(); i++){ System.out.println(lista.get(i)); } System.exit(0); } // um método que retorna um ArrayList public static ArrayList<String> obterLista(){ // vamos criar um ArrayList, adicionar alguns elementos // e devolvê-la ao chamador do método ArrayList<String> nomes = new ArrayList<String>(); nomes.add("Osmar J. Silva"); nomes.add("Fernanda de Castro"); nomes.add("Marcos de Oliveira"); return nomes; } } |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Manipulação de texto em Java - Como contar as ocorrências de um caractere em uma stringQuantidade de visualizações: 38 vezes |
Nesta dica mostrarei como podemos combinar um laço for e o método charAt() da classe String para contar as ocorrências de um caractere (uma letra) em uma palavra, frase ou texto. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; public class Estudos{ public static void main(String[] args){ String frase = "Programar em Java é muito bom"; System.out.println("Frase: " + frase); int cont = 0; char letra = 'a'; // ocorrências da letra "a" for(int i = 0; i < frase.length(); i++){ if(frase.charAt(i) == letra){ cont++; } } System.out.println("A frase contem " + cont + " ocorrencias da letra \"" + letra + "\""); System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: Frase: Programar em Java é muito bom A frase contém 4 ocorrências da letra "a" |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |