Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Como desenhar um triângulo de números em Java usando laços - Exercícios Resolvidos de JavaQuantidade de visualizações: 757 vezes |
Pergunta/Tarefa: Escreva um programa Java para imprimir uma triângulo de números. Este desafio é muito parecido com a pirâmide de números que já vimos em outras dicas e exercícios aqui no site. Seu código deverá solicitar o número de linhas e desenhar o triângulo no seguinte formato: Informe a quantidade de linhas: 8 1 121 12321 1234321 123454321 12345654321 1234567654321 123456787654321 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 a quantidade de linhas System.out.print("Informe a quantidade de linhas: "); int n = Integer.parseInt(entrada.nextLine()); // um laço que repete na mesma quantidade de // linhas informadas for(int i = 1; i <= n; i++){ // preenchemos com n - i espaços do lado // esquerdo do triângulo for(int j = 1; j <= n - i; j++){ System.out.print(" "); } // preenchemos os números em ordem crescente for(int k = 1;k <= i; k++){ System.out.print(k); } // preenchemos os números em ordem decrescente for(int x = i - 1; x >= 1; x--){ System.out.print(x); } // e colocamos uma quebra de linha aqui System.out.println(); } } } |
![]() |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Java - Uma função recursiva que conta quantas vezes um valor inteiro k ocorre em um vetor de inteirosQuantidade de visualizações: 1797 vezes |
Pergunta/Tarefa: Escreva um método recursivo que conta quantas vezes um valor inteiro k ocorre em um vetor de 10 inteiros. Seu método deverá ter a seguinte assinatura: public static int quantRepeticoes(int indice, int valor, int[] vetor){ // sua implementação aqui } Informe o 1 valor: 2 Informe o 2 valor: 7 Informe o 3 valor: 4 Informe o 4 valor: 7 Informe o 5 valor: 1 Informe o valor a ser pesquisado no vetor: 7 O valor informado se repete 2 vezes. 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 exercicio; import java.util.Scanner; public class Exercicio { public static void main(String[] args) { // cria um novo objeto da classe Scanner Scanner entrada = new Scanner(System.in); // vamos declarar um vetor de 10 inteiros int valores[] = new int[5]; // vamos pedir ao usuário que informe os valores do vetor for(int i = 0; i < valores.length; i++){ System.out.print("Informe o " + (i + 1) + " valor: "); // efetua a leitura do valor informado para a posição atual do vetor valores[i] = Integer.parseInt(entrada.nextLine()); } // agora vamos pedir para informar o valor a ser pesquisado System.out.print("\nInforme o valor a ser pesquisado no vetor: "); int valor = Integer.parseInt(entrada.nextLine()); // e vamos ver a quantidade de repetições int repeticoes = quantRepeticoes(0, valor, valores); System.out.print("O valor informado se repete " + repeticoes + " vezes."); System.out.println("\n"); } // método recursivo que recebe um valor public static int quantRepeticoes(int indice, int valor, int[] vetor){ if(indice == vetor.length - 1){ // caso base...hora de parar a recursividade if(vetor[indice] == valor){ return 1; // mais um repetição foi encontrada } } else{ // dispara mais uma chamada recursiva if(vetor[indice] == valor){ // houve mais uma repetição return 1 + quantRepeticoes(indice + 1, valor, vetor); } else{ return 0 + quantRepeticoes(indice + 1, valor, vetor); // não repetiu } } return 0; // só para deixar o compilador satisfeito...esta linha nunca é executada } } |
Java ::: Dicas & Truques ::: Data e Hora |
Como retornar a hora atual em Java usando um objeto da classe Calendar - Datas e Horas em JavaQuantidade de visualizações: 187 vezes |
Nesta dica mostrarei como podemos usar um objeto da classe Calendar da linguagem Java e seu método get() para obtermos as partes individuais de uma hora e exibí-las. Veja o código completo a seguir:---------------------------------------------------------------------- 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.util.Calendar; public class Estudos{ public static void main(String args[]){ Calendar agora = Calendar.getInstance(); // horas, minutos e segundos int horas = agora.get(Calendar.HOUR); int minutos = agora.get(Calendar.MINUTE); int segundos = agora.get(Calendar.SECOND); System.out.println("Hora Atual: " + horas + ":" + minutos + ":" + segundos); } } Ao executar este código Java nós teremos o seguinte resultado: Hora Atual: 11:10:40 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Exercício Resolvido de Java - Escreva uma função Java que recebe três números inteiros e retorna o menor delesQuantidade de visualizações: 945 vezes |
Pergunta/Tarefa: Escreva um programa Java que contenha um método ou função que recebe três números inteiros e retorne o menor deles como um inteiro. Seu método não deve produzir nenhuma saída, apenas retornar o menor número entre os três argumentos fornecidos. Sua saída deverá ser parecida com: Informe o primeiro número: 8 Informe o segundo número: 10 Informe o terceiro número: 7 O menor número é: 7 Veja a resolução comentada deste exercício em 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 três // números inteiros System.out.print("Informe o primeiro número: "); int n1 = Integer.parseInt(entrada.nextLine()); System.out.print("Informe o segundo número: "); int n2 = Integer.parseInt(entrada.nextLine()); System.out.print("Informe o terceiro número: "); int n3 = Integer.parseInt(entrada.nextLine()); // agora vamos calcular o menor número int menorNumero = menor(n1, n2, n3); // e mostramos o resultado System.out.println("O menor número é: " + menorNumero); } // método que recebe três números e retorna o menor deles public static int menor(int a, int b, int c){ return Math.min(Math.min(a, b), c); } } |
Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como classificar um array em ordem crescente usando o método sort() da classe Arrays do JavaQuantidade de visualizações: 26783 vezes |
Nesta dica mostrarei como podemos usar o método sort() da classe Arrays da linguagens Java para ordenar um vetor de inteiros em ordem crescente. A assinatura do método sort() que usaremos é aquela que recebe apenas um argumento, ou seja, o array a ser ordenado. Note que a implementação de ordenação usada pelo método sort() é a ordenação quicksort, considerada uma das mais rápidas nos dias atuais. 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 estudos; import java.util.*; public class Estudos{ public static void main(String[] args){ // vamos declarar e construir um vetor de 5 inteiros int[] valores = new int[5]; // inicializa os elementos do array valores[0] = 23; valores[1] = 65; valores[2] = 2; valores[3] = 87; valores[4] = 34; // exibe os valores dos elementos do array // usando o laço for melhorado System.out.println("Elementos na ordem original:"); for(int valor : valores){ System.out.print(valor + " "); } // ordena os valores em ordem crescente Arrays.sort(valores); // exibe os valores dos elementos do array // usando o laço for melhorado System.out.println("\n\nElementos classificados em ordem crescente:"); for(int valor : valores){ System.out.print(valor + " "); } System.out.println("\n\n"); System.exit(0); } } Ao executarmos este código Java nós teremos o seguinte resultado: Elementos na ordem original: 23 65 2 87 34 Elementos classificados em ordem crescente: 2 23 34 65 87 |
Java ::: Dicas & Truques ::: Threads |
Threads em Java - Como usar a interface Runnable da Java API em suas aplicaçõesQuantidade de visualizações: 17821 vezes |
A interface pública Runnable deve ser implementada em nossas classes quando queremos que instâncias destas possam ser executadas por uma thread. Esta interface está no pacote java.lang e entre as classes que a implementam podemos citar AsyncBoxView.ChildState, FutureTask, RenderableImageProducer, Thread e TimerTask. Esta interface apresenta apenas um método, a saber: public void run(); Este interface foi idealizada para fornecer um protocolo comum para objetos que têm como objetivo executar determinadas porções de código enquanto ativos. Por exemplo, Runnable é implementada pela classe Thread. Estar ativa significa que uma thread foi iniciada e ainda não finalizou sua tarefa. Além disso, a interface Runnable fornece meios para que uma classe esteja ativa sem fazer sub-classe de Thread. Uma classe que implementa Runnable pode ser executada sem fazer sub-classe de Thread criando-se uma instância de Thread e fornecendo tal classe como alvo. Na maioria dos casos, a interface Runnable deve ser usada se estivermos planejando apenas sobrescrever o método run() e nenhum outro método da classe Thread. Isso é importante, uma vez que não devemos extender classes a menos que tenhamos a intenção de modificar ou extender o comportamento fundamental da classe. Veja uma aplicação na qual temos uma classe que implementa Runnable. Note como criamos instâncias de Thread e fornecemos nossa classe como alvo: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- // criamos uma classe que servirá como thread class MinhaThread implements Runnable{ private String nome; public MinhaThread(String nome){ this.nome = nome; } public void run(){ for(int i = 1; i <= 20; i++){ System.out.println(nome + ": " + i); } } } public class Estudos{ public static void main(String[] args){ // vamos criar duas threads MinhaThread mt1 = new MinhaThread("Thread 1"); Thread t1 = new Thread(mt1); t1.start(); MinhaThread mt2 = new MinhaThread("Thread 2"); Thread t2 = new Thread(mt2); t2.start(); System.exit(0); } } |
Java ::: Dicas & Truques ::: Formatação de datas, strings e números |
Como usar o método System.out.printf() do Java para converter um valor na base decimal para hexadecimalQuantidade de visualizações: 10559 vezes |
Nesta dica mostrarei como podemos tirar proveito do método System.out.printf() do Java 5.0 em diante para converter um valor na base decimal para hexadecimal e exibí-lo na tela. 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){ int num = 35; // exibe o valor na base hexadecimal System.out.printf("O decimal %d convertido para hexadecimal é %x", num, num); } } Ao executar este código nós teremos o seguinte resultado: O decimal 35 convertido para hexadecimal é 23 |
Java ::: Coleções (Collections) ::: Vector |
Java Collections - Como remover um determinado elemento de um Vector baseado em seu valorQuantidade de visualizações: 11805 vezes |
Muitas vezes precisamos excluir um determinado elemento de um Vector baseado em seu valor. Isso pode ser feito com o método remove(). Veja sua assinatura:public boolean remove(Object o) ---------------------------------------------------------------------- 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 java.util.*; public class Estudos{ public static void main(String args[]){ // Cria o Vector Vector<String> nomes = new Vector<String>(); // adiciona itens ao Vector nomes.addElement("Osmar"); nomes.addElement("Marcos"); nomes.addElement("Ingrid"); // vamos exibir os elementos for(String nome : nomes) System.out.println(nome); // vamos excluir o elemento "Ingrid" boolean sucesso = nomes.remove("Ingrid"); if(sucesso) System.out.println("\nO elemento foi removido " + "com sucesso.\n"); else System.out.println("\nO elemento NAO foi removido " + "com sucesso.\n"); // vamos exibir os elementos novamente for(String nome : nomes) System.out.println(nome); } } Ao executar este exemplo nós teremos o seguinte resultado: Osmar Marcos Ingrid O elemento foi removido com sucesso. Osmar Marcos |
Java ::: Dicas & Truques ::: Formulários e Janelas |
Java Swing para iniciantes - Como definir ou obter o título de uma janela JFrameQuantidade de visualizações: 11073 vezes |
Nesta dica mostrarei como usar o método setTitle() da classe JFrame para definir o título da janela JFrame. Usaremos também o método getTitle() para obter o título da janela. Veja o código Java Swing 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 ---------------------------------------------------------------------- import javax.swing.*; public class Estudos extends JFrame{ public Estudos() { setSize(350, 250); setVisible(true); // Define o título da janela setTitle("Controle de Estoque"); // obtém o título da janela JOptionPane.showMessageDialog(null, "O título da janela é: " + this.getTitle()); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } Ao executar este exemplo você verá uma janela JOptionPane com o texto "O título da janela é: Controle de Estoque". |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Viscosidade dos fluidos A velocidade é um fator determinante na viscosidade de um fluido. Muitos estudos apresentam o cálculo da viscosidade a partir da velocidade média de um fluido viscoso. Como é chamado o fluido com viscosidade variável com a velocidade em que a tensão de cisalhamento não é diretamente proporcional à taxa de deformação? A) Fluido compressível. B) Fluido não compressível. C) Fluido newtoniano. D) Fluido não newtoniano. E) Fluido relativo. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Hidrostática |
Princípios da Hidrostática A hidrostática é um ramo da Física que tem como objeto de estudo a propriedade dos líquidos e fluidos sob a ação da força gravitacional em equilíbrio estático. De acordo com o escopo dessa disciplina, marque a alternativa que melhor define massa específica. A) Massa específica é a própria densidade relativa à substância. B) Pode ser definida pela quantidade de matéria que cabe no volume de 1 litro dessa substância. C) Massa específica é o volume ocupado por uma substância e a massa de uma porção oca de uma substância. D) Massa específica pode ser a razão direta entre força pela área dada em Pascal (Pa), dividida pelo volume total da substância. E) A massa especifica é a razão entre a massa homogênea e o volume. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Qual é a forma correta de se escrever o condicional if em JavaScript? A) if a == 10 then B) if (a == 10): C) if (a == 10) {} D) if a = 10: Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Revestimentos: técnicas construtivas Qual alternativa está correta em relação aos cuidados necessários com os materiais antes do início do assentamento das cerâmicas? A) Deve-se prever a compra de duas peças a mais dos revestimentos cerâmicos, pensando-se nos acidentes que possam ocorrer, como trocas e reparos das peças. B) É fundamental comprar os revestimentos cerâmicos em lojas diferentes ou fornecedores diferentes, pois há uma grande variação de preço entre as empresas. C) É fundamental ler as recomendações dos fabricantes dos materiais a serem usados, pois existe uma vasta gama de produtos no mercado e é necessário saber para quais ambientes o produto é indicado. D) É imprescindível que o local onde os materiais ficam estocados até o início das obras seja limpo e seco. A fim de facilitar a retirada desses materias e organizar melhor os espaços, deve-se sempre empilhar as caixas com cerâmicas. E) Em obras de grande porte, após a compra dos revestimentos cerâmicos, a construtora deve exigir a entrega em um único frete à empresa fornecedora. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Locação da obra Para a fase de locação da obra, é indispensável o emprego da(o) ______________. Assinale a alternativa que completa a frase. A) Concreto. B) Instalação elétrica provisória. C) Topografia. D) Canteiro mobilizado. E) Entrada de água provisória. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, 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 |