Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Como escrever o programa Fizz Buzz em Java - Peça para o usuário informar um número inteiro e escreva "Fizz" se o número for - Exercícios Resolvidos de JavaQuantidade de visualizações: 426 vezes |
Pergunta/Tarefa: O famoso desafio de programação "Fizz Buzz" aparece com frequencia em livros de lógica de programação e entrevistas para programadores. Vale a pena praticá-lo. Escreva um programa Java que leia um número inteiro e exiba "Fizz" se o número for múltiplo de 3. Se o número for múltiplo de 5 você deverá exibir "Buzz". Se o número for múltiplo de 3 e 5 ao mesmo tempo, escreva "Fizz Buzz". Se, no entanto, o número informado não estiver em nenhuma dessas condições, escreva o número informado. Sua saída deve ser parecida com: Informe um número: 20 Buzz Informe um número: 15 Fizz Buzz Informe um número: 9 Fizz Informe um número: 14 O número é: 14 Veja a resolução comentada deste exercício usando Java: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar um número System.out.print("Informe um número: "); int numero = Integer.parseInt(entrada.nextLine()); // o número é múltiplo de 3 e 5 ao mesmo tempo? if((numero % 3 == 0) && (numero % 5 == 0)){ System.out.println("Fizz Buzz"); } // o número é múltiplo de 3? else if(numero % 3 == 0){ System.out.println("Fizz"); } // o número é múltiplo de 5? else if(numero % 5 == 0){ System.out.println("Buzz"); } // vamos mostrar o número else{ System.out.println("O número é: " + numero); } } } |
![]() |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Operadores de Manipulação de Bits (Bitwise Operators) |
Exercícios Resolvidos de Java - Como converter de decimal para binário usando os operadores de bits em JavaQuantidade de visualizações: 927 vezes |
Este exercício faz parte da nossa lista de desafios de programação em Java. Pergunta/Tarefa: Escreva um programa Java para pede para o usuário informar um número decimal e faça a conversão para binário usando os operadores de bits. Sua saída deverá ser parecida com: Informe um número decimal: 9 O número binário é: 00000000000000000000000000001001 Veja a resolução completa para o exercício em Java, comentada linha a linha: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { // vamos definir o tamanho do vetor para guardar // os dígitos do número binário final static int TAM_INT = Integer.BYTES * 8; public static void main(String[] args){ // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // variáveis para ajudar a resolver o problema int decimal, indice, i; // vetor para guardar o número binário int binario[] = new int[TAM_INT]; // vamos pedir para o usuário informar um decimal inteiro System.out.print("Informe um número decimal: "); decimal = Integer.parseInt(entrada.nextLine()); // ajustamos índice para o último elemento do vetor indice = TAM_INT - 1; // enquanto índice for maior ou igual a 0 while(indice >= 0){ // vamos guardar o bit menos significativo LSB binario[indice] = decimal & 1; // diminuímos o índice 100010 indice--; // desloca bits para a direita uma posição decimal = decimal >> 1; } // agora vamos exibir o número binário System.out.print("O número binário é: "); for(i = 0; i < TAM_INT; i++){ System.out.print(binario[i]); } System.out.println("\n\n"); } } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercício Resolvido de Java - Um programa que solicita ao usuário que informe um número e verifica se tal número é um número perfeitoQuantidade de visualizações: 2760 vezes |
Exercícios Resolvidos de Java - Um programa que solicita ao usuário que informe um número e verifica se tal número é um número perfeito Pergunta/Tarefa: Em Matemática, um número perfeito é um número inteiro para o qual a soma de todos os seus divisores positivos próprios (excluindo ele mesmo) é igual ao próprio número. Por exemplo, o número 6 é um número perfeito, pois: 6 = 1 + 2 + 3. O próximo número perfeito é o 28, pois 28 = 1 + 2 + 4 + 7 + 14. Todo número perfeito é um número triangular, bem como um número hexagonal. Escreva um programa Java que solicita um número inteiro ao usuário e verifica se tal número é um número perfeito. Sua saída deve ser parecida com: Informe um número: 6 O número informado é um número perfeito. Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos pedir que o usuário informe um número System.out.print("Informe um número: "); int numero = Integer.parseInt(entrada.nextLine()); // vamos verificar se o número informado é um número perfeito int soma = 0; // vamos contar de 1 até a metade do número informado for(int i = 1; i <= numero / 2; i++){ if(numero % i == 0){ // o número informado é divisível pelo valor de i? soma = soma + i; } } // a soma é igual ao numero informado? if(soma == numero){ System.out.println("O número informado é um número perfeito."); } else{ System.out.println("O número informado não é um número perfeito."); } System.out.println("\n"); } } |
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como usar o modificador abstract em suas classes e métodos Java - Programação Orientada a Objetos em Java - Java POOQuantidade de visualizações: 18202 vezes |
O modificador abstract pode ser aplicado a classes e métodos. Seu uso com variáveis pode causar o erro abaixo:abstract String nome; Estudos.java:2: modifier abstract not allowed here abstract String nome; ^ 1 error Classes abstratas não podem ser instanciadas, ou seja, não podemos chamar seu construtor. Veja um exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- public class Estudos{ public static void main(String args[]){ Cliente cliente = new Cliente(); System.exit(0); } } abstract class Cliente{ public Cliente(){ } } Ao tentarmos compilar esta classe teremos o seguinte erro: Estudos.java:3: Cliente is abstract; cannot be instantiated Cliente cliente = new Cliente(); ^ 1 error A função principal de classes abstratas é forçar a implementação para as sub-classes. Desta forma, seus métodos são declarados com o modificador abstract e sem corpo. Veja: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- abstract class Cliente{ abstract void obterNome(); } Sempre que suas classes contiverem um ou mais métodos abstratos, você deverá declará-la abstrata. Não seguir esta regra provocará o seguinte erro: class Cliente{ abstract void obterNome(); } Estudos.java:9: Cliente is not abstract and does not override abstract method obterNome() in Cliente class Cliente{ ^ 1 error As situações que fazem com que uma classe deva ser declarada abstract são:
Para finalizar, abstract é o oposto de final. Uma classe final não pode ter sub-classes. Uma classe abstract precisa ter sub-classes. |
Java ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Java para iniciantes - Como criar laços for infinitos em JavaQuantidade de visualizações: 9481 vezes |
Laços for infinitos em Java podem ser criado da seguinte forma:---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- for(;;){ // bloco de instruções } Veja um exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- import javax.swing.JOptionPane; public class Estudos{ public static void main(String[] args) { int valor; int soma = 0; // Lê continuamente até o usuário informar 0 for(;;){ // efetua a próxima leitura String str = JOptionPane.showInputDialog(null, "Informe um valor inteiro:\n(ou 0 para sair)", "Estudos", JOptionPane.QUESTION_MESSAGE); valor = Integer.parseInt(str); // testa se o laço pode ser finalizado if(valor == 0) break; soma += valor; } JOptionPane.showMessageDialog(null, "A soma é: " + soma, "Estudos", JOptionPane.INFORMATION_MESSAGE); } } Sempre que criar laços infinitos, tenha a certeza de fornecer um teste de parada dentro do corpo do laço. Do contrário seu programa só poderá ser interrompido matando-se o processo. |
Java ::: Classes e Componentes ::: JButton |
Como definir a cor do texto de um botão JButton do Java SwingQuantidade de visualizações: 9403 vezes |
Nesta dica eu mostrarei como é possível definir a cor do texto de um componente JButton do Java Swing. Para isso nós usamos o método setForeground() da classe JButton, fornecendo a cor desejada, por exemplo, Color.RED. Veja um exemplo Java Swing completo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package arquivodecodigos; import java.awt.*; import javax.swing.*; public class Estudos extends JFrame{ public Estudos() { super("Estudos Swing"); Container c = getContentPane(); c.setLayout(new FlowLayout(FlowLayout.LEFT)); // Cria um JButton com a cor do texto vermelho JButton btn1 = new JButton("Clique Aqui!"); btn1.setForeground(Color.RED); // Cria um JButton com a cor de fundo verde JButton btn2 = new JButton("Clique Aqui!"); btn2.setForeground(Color.GREEN); // Adiciona os botões à janela c.add(btn1); c.add(btn2); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Java para iniciantes - Como pesquisar uma substring em uma string e retornar sua posição inicialQuantidade de visualizações: 99 vezes |
Nesta dica mostrarei como é possível usar o método indexOf() da classe String para obter o índice (começando em 0) da primeira ocorrência de uma substring em uma string. Se a substring não for encontrada, o retorno será -1. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package arquivodecodigos; public class Estudos{ public static void main(String[] args){ String frase = "Programar em Java é muito bom"; System.out.println("Frase: " + frase); // verifica se a frase contém a palavra Java int res = frase.indexOf("Java"); if(res > 0){ System.out.println("A substring foi encontrada " + " na posicao (índice): " + res); } else{ System.out.println("A substring nao foi encontrada"); } System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: Frase: Programar em Java é muito bom A substring foi encontrada na posicao (índice): 13 |
Java ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear |
Java para Geometria Analítica e Álgebra Linear - Como efetuar a soma de matrizes usando JavaQuantidade de visualizações: 1715 vezes |
A soma de matrizes (assim como a subtração e multiplicação) é parte integrante da disciplina de Álgebra Linear e seu cálculo é muito simples. Assumindo duas matrizes A e B, ambas com a mesma quantidade de linhas e colunas, a matriz soma pode ser obtida da seguinte forma: \[A + B = \left[\begin{matrix} 3 & 4 & -1 \\ 8 & 2 & 1 \\ 7 & 5 & -3 \end{matrix}\right] + \left[\begin{matrix} -2 & 6 & 4 \\ 1 & 8 & 9 \\ -4 & 10 & 3 \end{matrix}\right] = \left[\begin{matrix} 1 & 10 & 3 \\ 9 & 10 & 10 \\ 3 & 15 & 0 \end{matrix}\right] \] Um elemento da matriz é representando por sua posição linha e coluna. Usamos a letra i para a linha e j para a coluna, ou seja, aij. Dessa forma, o elemento na primeira linha e primeira coluna da matriz é a11, o elemento na primeira linha e segunda coluna é a12 e assim por diante. Então, a soma das duas matrizes é feita da seguinte forma: Cij = Aij + Bij. E agora veja o código Java que declara duas matrizes matrizA e matrizB e obtém uma terceira (matrizC) contendo a soma das duas anteriores. Novamente, note o requisito de que as matrizes deverão ter o mesmo número de linhas e colunas: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package arquivodecodigos; public class Estudos{ public static void main(String args[]){ // declarar, construir e inicializar as matrizes int matrizA[][] = {{3, 4, -1}, {8, 2, 1}, {7, 5, -3}}; int matrizB[][] = {{-2, 6, 4}, {1, 8, 9}, {-4, 10, 3}}; // esta é a matriz soma int matrizSoma[][] = new int[3][3]; // e agora vamos prosseguir com a soma for(int i = 0; i < matrizA.length; i++){ for(int j = 0; j < matrizA[0].length; j++){ matrizSoma[i][j] = matrizA[i][j] + matrizB[i][j]; } } // vamos exibir os valores da primeira matriz System.out.println("Elementos da matriz A:"); for(int i = 0; i < matrizA.length; i++){ for(int j = 0; j < matrizA[0].length; j++){ System.out.printf("%5d ", matrizA[i][j]); } System.out.println(); } // vamos exibir os valores da primeira matriz System.out.println("\nElementos da matriz B:"); for(int i = 0; i < matrizB.length; i++){ for(int j = 0; j < matrizB[0].length; j++){ System.out.printf("%5d ", matrizB[i][j]); } System.out.println(); } // vamos exibir os valores da matriz soma System.out.println("\nElementos da matriz soma:"); for(int i = 0; i < matrizSoma.length; i++){ for(int j = 0; j < matrizSoma[0].length; j++){ System.out.printf("%5d ", matrizSoma[i][j]); } System.out.println(); } } } Ao executar este código Java nós teremos o seguinte resultado: Elementos da matriz A: 3 4 -1 8 2 1 7 5 -3 Elementos da matriz B: -2 6 4 1 8 9 -4 10 3 Elementos da matriz soma: 1 10 3 9 10 10 3 15 0 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Escreva um programa Java que leia duas notas obtidas por um aluno na disciplina de Algoritmos e Programação de Computadores, o número de aulas ministradasQuantidade de visualizações: 18342 vezes |
Pergunta/Tarefa: Escreva um programa Java que leia duas notas obtidas por um aluno na disciplina de Algoritmos e Programação de Computadores, o número de aulas ministradas e o número de aulas assistidas por este aluno nesta disciplina. Calcule e mostre a média final deste aluno e diga se ele foi aprovado ou reprovado. Considere que para um aluno ser aprovado ele deve obter média final igual ou maior a 6,0 e ter no mínimo 75% de frequência. Importante: Seu código Java deverá validar os dados de entrada para que as notas não sejam menores que zero nem maiores que 10. Além disso, o número de aulas assistidas não pode ser maior que o número de aulas ministradas. Seu programa Java deverá exibir uma saída parecida com: Informe a primeira nota: 9 Informe a segunda nota: 7 Quantidade de aulas ministradas: 20 Quantidade de aulas assistidas: 17 Aluno aprovado com média 8.0 e frequencia 85.0% Veja a resolução comentada deste exercício usando Java: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos ler as duas notas do aluno System.out.print("Informe a primeira nota: "); double n1 = Double.parseDouble(entrada.nextLine()); System.out.print("Informe a segunda nota: "); double n2 = Double.parseDouble(entrada.nextLine()); // vamos ler a quantidade de aulas ministradas System.out.print("Quantidade de aulas ministradas: "); int aulas_ministradas = Integer.parseInt(entrada.nextLine()); // agora a quantidade de aulas assistidas pelo aluno System.out.print("Quantidade de aulas assistidas: "); int aulas_assistidas = Integer.parseInt(entrada.nextLine()); // agora temos que validar as informações inseridas if((n1 < 0) || (n1 > 10)){ System.out.println("\nA nota n1 é inválida"); } else if((n2 < 0) || (n2 > 10)){ System.out.println("\nA nota n2 é inválida"); } else if(aulas_assistidas > aulas_ministradas){ System.out.println("Aulas assistidas maior que aulas ministradas"); } else{ // vamos calcular a média do aluno double media = (n1 + n2) / 2; // vamos calcular a frequencia double frequencia = (aulas_assistidas / (double)aulas_ministradas) * 100; // vamos testar a aprovação do aluno agora if((media >= 6.0) && (frequencia >= 75)){ System.out.println("Aluno aprovado com média " + media + " e frequencia " + frequencia + "%"); } else{ System.out.println("Aluno reprovado com média " + media + " e frequencia " + frequencia + "%"); } } } } |
Vamos testar seus conhecimentos em AutoCAD Civil 3D |
Survey Points e COGO Points Survey points não podem ser movidos ou editados sem acessar a base de dados do levantamento e sem usar comandos especializados para a edição de pontos de levantamento. A) Verdadeiro B) Falso Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Hidrologia |
A Bacia Tocantins-Araguaia é a maior bacia hidrográfica totalmente brasileira. Além da sua importância econômica e ambiental, a referida bacia possui a maior ilha fluvial do mundo. Como é denominada essa ilha? A) Ilha do Marajó. B) Ilha do Bananal. C) Ilha Solteira. D) Ilha do Gurupá. E) Ilha do São Francisco. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Analise o seguinte trecho de um documento HTML<p id="elem">Veja esse texto.</p> Qual é a sintáxe JavaScript correta para alterar o conteúdo desse elemento HTML? A) document.getElement("p").innerHTML = "texto"; B) document.getElementById("elem").innerHTML = "texto"; C) #elem.innerHTML = "texto"; D) document.getElementByName("p").innerHTML = "texto"; Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Estrutura e propriedade dos materiais A determinação e o conhecimento dos materiais são muito importantes para a escolha do material para determinada aplicação. Essa escolha é a partir: A) de um banco de dados obtidos por meio de ensaios laboratoriais. B) da análise do agrupamento e da organização dos átomos. C) da estrutura interna do material. D) da análise das características físicas do material. E) da avaliação da composição química dos materiais. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Raio Hidráulico Qual é o raio hidráulico em um canal de seção retangular com 2,00 m de largura por 1,20 m de altura? Considere que este canal está preenchido com 1/3 de água da sua capacidade. ![]() A) 0,10 m B) 0,29 m C) 0,19 m D) 2,29 m E) 0,39 m Verificar Resposta Estudar Cards Todas as Questões |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |