Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Métodos - Ex. 3 - Um método estático que recebe um número inteiro e retorna true se ele for par e false em caso contrário - Desafio de Programação Resolvido em JavaQuantidade de visualizações: 3171 vezes |
Pergunta/Tarefa: Escreva um método Java que recebe um número inteiro e retorna true se o número for par e false em caso contrário. Este método deverá ter a seguinte assinatura: public static boolean isPar(int n){ // sua implementação aqui } Sua saída deverá ser parecida com: 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 estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos solicitar que o usuário informe um número inteiro System.out.print("Informe um número inteiro: "); int numero = Integer.parseInt(entrada.nextLine()); // vamos verificar se o número informado e par if(isPar(numero)){ System.out.println("O número informado é par"); } else{ System.out.println("O número informado é ímpar"); } System.out.println("\n"); } // um método estático que recebe um número inteiro e retorna true se ele par // e false em caso contrário public static boolean isPar(int n){ // o número é par? if(n % 2 == 0){ return true; } else{ return false; // é ímpar } } } |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Dados - Árvores Binárias e Árvores Binárias de Busca |
Exercícios Resolvidos de Java - Travessia de uma árvore binária de busca usando o percurso em-ordem (in-order, In-ordem ou ordem simétrica)Quantidade de visualizações: 2183 vezes |
Pergunta/Tarefa: O percurso em ordem (em-ordem, in-order, In-ordem ou ordem simétrica) é usado quando queremos exibir os valores dos nós da árvore binária de busca em ordem ascendente. Neste tipo de percurso nós visitamos primeiramente a sub-árvore da esquerda, então o nó atual e finalmente a sub-árvore à direita do nó atual. É importante notar que esta travessia é feita por meio de uma função recursiva. Escreva um programa Java que contenha uma árvore binária de busca cujos nós guardarão, além das referências para o filho esquerdo e o filho direito, apenas um valor inteiro. Forneça uma função inserir() que permitirá inserir os valores na árvore. Em seguida forneça uma função recursiva que permitirá fazer a travessia in-order da árvore. Sua saída deverá ser parecida com: Informe um valor inteiro: 7 Informe um valor inteiro: 3 Informe um valor inteiro: 18 Informe um valor inteiro: 4 Informe um valor inteiro: 9 Percurso em ordem: 3 4 7 9 18 Veja a resolução comentada deste exercício usando Java: Código para NoArvore.java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; public class NoArvore { int valor; // valor armazenado no nó NoArvore esquerdo; // filho esquerdo NoArvore direito; // filho direito // construtor do nó public NoArvore(int valor){ this.valor = valor; } } Código para ArvoreBinariaBusca.java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; public class ArvoreBinariaBusca { private NoArvore raiz; // referência para a raiz da árvore // método usado para inserir um novo nó na árvore // retorna true se o nó for inserido com sucesso e false // se o elemento não puder ser inserido (no caso de já // existir um elemento igual) public boolean inserir(int valor){ // a árvore ainda está vazia? if(raiz == null){ // vamos criar o primeiro nó e definí-lo como a raiz da árvore raiz = new NoArvore(valor); // cria um novo nó } else{ // localiza o nó pai NoArvore pai = null; NoArvore noAtual = raiz; // começa a busca pela raiz // enquanto o nó atual for diferente de null while(noAtual != null){ if(valor < noAtual.valor) { pai = noAtual; noAtual = noAtual.esquerdo; } else if(valor > noAtual.valor){ pai = noAtual; noAtual = noAtual.direito; } else{ return false; // um nó com este valor foi encontrado } } // cria o novo nó e o adiciona ao nó pai if(valor < pai.valor){ pai.esquerdo = new NoArvore(valor); } else{ pai.direito = new NoArvore(valor); } } return true; // retorna true para indicar que o novo nó // foi inserido } // método que permite disparar a travessia em-ordem public void emOrdem(){ emOrdem(raiz); } // sobrecarga do método emOrdem com uma parâmetro (esta é a // versão recursiva do método) private void emOrdem(NoArvore raiz){ if(raiz == null){ // condição de parada return; } // visita a sub-árvore da esquerda emOrdem(raiz.esquerdo); // visita o nó atual System.out.print(raiz.valor + " "); // visita a sub-árvore da direita emOrdem(raiz.direito); } } E aqui está o código para a classe que permite testar a árvore: ---------------------------------------------------------------------- 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; public class Estudos { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos criar um novo objeto da classe ArvoreBinariaBusca ArvoreBinariaBusca arvore = new ArvoreBinariaBusca(); // vamos inserir 5 valores na árvore for(int i = 0; i < 5; i++){ System.out.print("Informe um valor inteiro: "); int valor = Integer.parseInt(entrada.nextLine()); // vamos inserir o nó e verificar o sucesso da operação if(!arvore.inserir(valor)){ System.out.println("Erro. Um elemento já contém este valor."); } } // vamos exibir os nós da árvore usando o percurso em ordem System.out.println("\nPercurso em ordem:"); arvore.emOrdem(); System.out.println("\n"); } } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Exercício Resolvido de Java - Escreva um método chamado inverter() que recebe um número inteiro e retorna este mesmo número invertidoQuantidade de visualizações: 7100 vezes |
Pergunta/Tarefa: Escreva um método Java chamado inverter() que recebe um número inteiro e retorna este mesmo número invertido. Este método deverá ter a seguinte assinatura: public static int inverter(int numero){ // sua implementação aqui } ATENÇÃO: Para a resolução deste exercício é permitido usar apenas os operadores aritméticos. Sua saída deverá ser parecida com: Informe um número inteiro: 487 O valor invertido é: 784 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; public class Estudos{ public static void main(String[] args) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // vamos pedir ao usuário que informe um número inteiro System.out.print("Informe um número inteiro: "); int numero = Integer.parseInt(entrada.nextLine()); // fazer efetuar uma chamada ao método inverter() e obter o valor invertido int invertido = inverter(numero); // e exibir o resultado System.out.println("O valor invertido é: " + invertido); } // método estático que recebe um número inteiro e o devolve invertido public static int inverter(int numero){ int resultado = 0; // guarda o resultado da inversão // enquanto número for diferente de 0 while(numero != 0){ // obtém resto da divisão de número por 10 int resto = numero % 10; // resultado recebe ele mesmo multiplicado por 10 mais o resto resultado = resultado * 10 + resto; // finalmente número recebe ele mesmo dividido por 10 numero = numero / 10; } return resultado; // retorna o resultado } } |
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Como usar null em JavaQuantidade de visualizações: 31601 vezes |
O tipo de dados null é um tipo (ou valor) especial que indica que uma referência não está apontando para nenhum objeto, ou seja, aponta para uma posição de memória nula. Este tipo pode ser atribuído (ou testado) apenas a referências. Seu uso não é permitido com primitivos. Veja um trecho de código no qual definimos que uma variável do tipo String aponta para um objeto nulo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Estudos{ public static void main(String args[]){ String nome = null; System.out.println(nome.length()); System.exit(0); } } Este código compila normalmente. Porém, ao tentarmos executá-lo, temos uma exceção de tempo de execução NullPointerException: Exception in thread "main" java.lang.NullPointerException at Estudos.main(Estudos.java:5) Isso aconteceu porque estamos tentando executar um método de um objeto que não existe. Uma técnica muito valiosa é testar se uma referência não está apontando para um objeto nulo. Veja como isso é feito: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Estudos{ public static void main(String args[]){ String nome = null; if(nome != null) System.out.println(nome.length()); else System.out.println("Objeto é nulo."); System.exit(0); } } Tenha em mente que, quando uma referência recebe o valor null, o objeto para o qual ela apontava fica imediatamente disponível para o coletor de lixo (Garbagge Colector), ou seja, a memória ocupada pelo objeto pode ser liberada a qualquer momento. Veja agora o que acontece quando tentamos atribuir o valor null a um primitivo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Estudos{ public static void main(String args[]){ int valor = null; System.exit(0); } } Eis a mensagem de erro de compilação: Estudos.java:3: incompatible types found : <nulltype> required: int int valor = null; ^ 1 error |
Vamos testar seus conhecimentos em Fundações |
Fundações profundas A ABNT reconhece a execução dos seguintes tipos de estaca: madeira, aço, concreto pré-moldado, concreto moldado in loco, argamassa, calda de cimento ou qualquer combinação deles. Com base no exposto, assinale a alternativa que define estaca metálica ou de aço. A) Estaca armada e preenchida com argamassa de cimento e areia, moldada in loco e executada por perfuração rotativa ou rotopercussiva, revestida integralmente, no trecho em solo, por um conjunto de tubos metálicos recuperáveis. B) Estaca executada por perfuração do solo com uma sonda ou piteira e revestimento total com camisa metálica, realizando-se gradativamente o lançamento e apiloamento do concreto, com retirada simultânea do revestimento. C) Estaca cravada, constituída de elemento estrutural metálico produzido industrialmente, podendo ser de perfis laminados ou soldados, simples ou múltiplos, tubos de chapa dobrada ou calandrada, tubos com ou sem costura e trilhos. D) Estaca moldada in loco, armada, executada por perfuração rotativa ou rotopercussiva e injetada com calda de cimento por um tubo com válvulas. E) Estaca executada por perfuração do solo por trado mecânico, construída totalmente sem o emprego de revestimento ou de um fluido estabilizante. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Analise o seguinte código JavaScriptconst numeros = [33, 2, 8]; numeros.sort(); document.write(numeros[1]); Qual é o resultado de sua execução? A) 2 B) 8 C) 1 D) 33 Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Evolução das estruturas A alvenaria é das mais antigas técnicas de construção. É também das mais ricas e variadas. Assinale abaixo a opção que não corresponde às "unidades de alvenaria", ou seja, às peças que não constituem a formação da alvenaria: Selecione a resposta: A) Tijolos cerâmicos maciços. B) Blocos de pedra. C) Blocos de concreto. D) Tijolos cerâmicos vazados. E) Peças de madeira. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Hidrologia |
Assinale a alternativa que apresenta uma justificativa para a importância dos rios: A) A manutenção do equilíbrio ambiental local. B) A disponibilidade somente de água potável. C) A ausência de grandes eventos de inundação. D) O desgaste da superfície das rochas ígneas. E) O aumento da temperatura de forma pontual. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
O código abaixo é válido em Python?nome1 = "ALBERTO" nome2 = 'FERNANDA' print(nome1) print(nome2) A) Sim B) Não Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
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 |