Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
O Sr. João necessita saber o consumo médio de um automóvel, e solicitou para você desenvolver um algoritmo Java que - Exercícios Resolvidos de JavaQuantidade de visualizações: 459 vezes |
Pergunta/Tarefa: O Sr. João necessita saber o consumo médio de um automóvel, e solicitou para você desenvolver um algoritmo Java que, sendo fornecido a distância total percorrida pelo automóvel e o total de combustível gasto, mostre o consumo do automóvel. Sua saída deverá ser parecida com: Distância total (kms): 650 Combustível gasto (litros): 52 O consumo do veículo foi: 12.5 kms/litro Veja a resolução 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 distância total em quilômetros System.out.print("Distância total (kms): "); double distancia = Double.parseDouble(entrada.nextLine()); // vamos ler o total de combustível gasto em litros System.out.print("Combustível gasto (litros): "); double combustivel_gasto = Double.parseDouble(entrada.nextLine()); // agora vamos calcular o consumo do automóvel double consumo = distancia / combustivel_gasto; // e mostramos o resultado System.out.println("O consumo do veículo foi: " + consumo + " kms/litro"); } } |
![]() |
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 ::: Coleções (Collections) ::: Stack |
Java Collections - Como adicionar novos elementos a uma Stack JavaQuantidade de visualizações: 9083 vezes |
Elementos são adicionados a uma pilha (um objeto da classe Stack) por meio do método push(). Veja sua assinatura:public E push(E item) Veja um trecho de código no qual adicionamos três elementos à pilha: ---------------------------------------------------------------------- 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.*; public class Estudos{ public static void main(String args[]){ // Cria uma Stack de String Stack<String> pilha = new Stack<>(); System.out.println("Tamanho da pilha antes: " + pilha.size()); // adiciona três elementos na pilha pilha.push("Cuiabá"); pilha.push("Goiânia"); pilha.push("Belo Horizonte"); System.out.println("Tamanho da pilha agora: " + pilha.size()); } } Ao executarmos este código Java nós teremos o seguinte resultado: Tamanho da pilha antes: 0 Tamanho da pilha agora: 3 |
Java ::: Java para Engenharia ::: Física - Hidrodinâmica |
Como representar a Equação da Continuidade em Java - Java para HidrodinâmicaQuantidade de visualizações: 288 vezes |
O que é a Equação da Continuidade? A Hidrodinâmica é a parte da Física que estuda os fluidos em movimento, enquanto a Equação da Continuidade, que é parte da Hidrodinâmica, determina o fluxo de um fluido através de uma área. Esta equação está muito presente quando o assunto é Dinâmica dos Fluidos ou Mecânica dos Fluidos. A Equação da Continuidade é uma consequência direta da Lei da Conservação da Massa. Por meio dessa propriedade, podemos dizer que a quantidade de massa de fluido que atravessa o tubo é a mesma na entrada e na saída. Para melhor entendimento veja a seguinte figura: ![]() Sabendo que a quantidade de água que entra na mangueira deve ser igual à mesma quantidade que sai, ao colocarmos o dedo na saída da mangueira, nós estamos estreitando a área da vazão, o que, consequentemente, aumenta a velocidade da água. Qual é a Fórmula da Equação da Continuidade? Antes de passarmos ao código Java, vamos revisar a Fórmula da Equação da Continuidade. Veja: \[ A_1 \cdot \text{v}_1 = A_2 \cdot \text{v}_2 \] Por meio dessa equação nós entramos com três valores e obtemos um quarto valor. Não se esqueça de que as velocidades são dadas em metros por segundo e as áreas são dadas em metros quadrados (de acordo com o SI - Sistema Internacional de Medidas). Tenha a certeza de efetuar as devidas conversões para não obter resultados incorretos. Vamos escrever código Java agora? A Equação da Continuidade em código Java Para exemplificar como podemos representar a Equação da Continuidade em Java, vamos resolver o seguinte problema? 1) Um fluido escoa a 2 m/s em um tubo de área transversal igual a 200 mm2. Qual é a velocidade desse fluido ao sair pelo outro lado do tubo, cuja área é de 100 mm2? a) 20 m/s b) 4 m/s c) 0,25 m/s d) 1,4 m/s e) 0,2 m/s Note que a velocidade já está em metros por segundo, mas as áreas foram dadas em milímetros quadrados. Por essa razão nós deveremos converter milímetros quadrados em metros quadrados. Veja o código Java completo para a resolução deste exercício de Equação da Continuidade: ---------------------------------------------------------------------- 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 solicitar os dados de entrada System.out.print("Velocidade de entrada (m/s): "); double v1 = Double.parseDouble(entrada.nextLine()); System.out.print("Área de entrada (milímetros quadrados): "); double a1 = Double.parseDouble(entrada.nextLine()); System.out.print("Área de saída (milímetros quadrados): "); double a2 = Double.parseDouble(entrada.nextLine()); // vamos converter as áreas em milímetros quadrados // para metros quadrados a1 = a1 / 1000000; a2 = a2 / 1000000; // agora calculamos a velocidade de saída double v2 = (a1 * v1) / a2; // e mostramos o resultado System.out.println("A velocidade de saída é: " + v2 + " m/s"); System.out.println("\n"); } } Ao executar este código Java nós teremos o seguinte resultado: Velocidade de entrada (m/s): 2 Área de entrada (milímetros quadrados): 200 Área de saída (milímetros quadrados): 100 A velocidade de saída é: 4.0 m/s Portanto, a velocidade do fluido na saída do tubo é de 4 m/s. |
Java ::: Dicas & Truques ::: Threads |
Java Threads - Como interromper a execução de uma thread em suas aplicações JavaQuantidade de visualizações: 15429 vezes |
A classe Thread fornece um método chamado interrupt() que serve para interrompermos a execução de uma determinada thread. Os métodos sleep() e yield() transferem a thread sendo executada no momento do estado "executando" para o estado "pronta". O método interrupt(), por sua vez, faz com que uma thread vá para o estado "finalizada", ou seja, ela não voltará mais a ser executada. O problema é que, nem sempre, o método interrupt() parece surtir o efeito desejado, ou seja, fazer com que a thread pare de executar imediatamente. Por esta razão, a forma mais fácil de "matar" uma thread é forçar a saída de seu método run(). 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 ---------------------------------------------------------------------- // criamos uma classe que servirá como thread class MinhaThread extends Thread{ 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); if((i >= 3) && (nome.equals("Thread 1"))){ try{ System.out.println(nome + " foi eliminada"); return; // interrompe a execução do método run() } catch(SecurityException e){ System.out.println(e.getMessage()); } } } } } public class Estudos{ public static void main(String[] args){ // vamos criar duas threads MinhaThread t1 = new MinhaThread("Thread 1"); t1.start(); MinhaThread t2 = new MinhaThread("Thread 2"); t2.start(); } } Ao usar a instrução return nós forçamos a saída do método run() e consequentemente, o fim da tarefa sendo realizada pela thread. |
Java ::: Dicas & Truques ::: Data e Hora |
Como converter um objeto Calendar em um objeto Date em JavaQuantidade de visualizações: 11179 vezes |
Muitas vezes precisamos converter um objeto Calendar em um objeto Date em Java. Isso pode ser feito usando-se o método getTime() da classe Calendar. Este método retorna um objeto da classe Date representando o estado atual do objeto Calendar em milisegundos desde o Epoch. Veja um exemplo dessa conversão e o uso da classe SimpleDateFormat para formatar o resultado: ---------------------------------------------------------------------- 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.*; import java.text.*; public class Estudos{ public static void main(String args[]){ Calendar cal = Calendar.getInstance(); Date data = cal.getTime(); // formata e exibe a data e hora Format formato = new SimpleDateFormat( "dd/MM/yyyy - HH:mm:ss"); System.out.println(formato.format(data)); } } Ao executar este código Java nós teremos o seguinte resultado: 09/09/2022 - 14:39:53 |
Java ::: Dicas & Truques ::: Mouse e Teclado |
Como ligar ou desligar a tecla Caps Lock do seu teclado usando JavaQuantidade de visualizações: 18020 vezes |
Nesta dica mostrarei como ligar ou desligar a tecla Caps Lock (tudo maiúsculo) do seu teclado usando o método setLockingKeyState() da classe Toolkit, do pacote java.awt. Note que passei o valor true para ligar o Caps Lock e false para desligar. 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 ---------------------------------------------------------------------- import java.awt.Toolkit; import java.awt.event.*; public class Estudos{ public static void main(String[] args){ Toolkit tk = Toolkit.getDefaultToolkit(); // Liga a tecla Caps Lock tk.setLockingKeyState(KeyEvent.VK_CAPS_LOCK, true); // Para desligar basta usar: // tk.setLockingKeyState(KeyEvent.VK_CAPS_LOCK, false); System.exit(0); } } Esta dica foi testada no Java 8 e Windows 10. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Exercício Resolvido de Java - Como converter minutos em segundos em Java usando uma funçãoQuantidade de visualizações: 801 vezes |
Pergunta/Tarefa: Escreva um programa Java para converter minutos em segundos. Você deverá criar uma função converter() que receberá, como argumento, um número inteiro representando os minutos e retornará, também como um inteiro, os segundos correspondentes. Os minutos deverão ser informados pelo usuário. Sua saída deverá ser parecida com: Informe os minutos: 15 A quantidade de segundos é: 900 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 os minutos System.out.print("Informe os minutos: "); int minutos = Integer.parseInt(entrada.nextLine()); // agora vamos chamar a função converter() para converter // os minutos em segundos int segundos = converter(minutos); // e mostramos o resultado System.out.println("A quantidade de segundos é: " + segundos); } // função usada para converter minutos em segundos public static int converter(int minutos){ int segundos = minutos * 60; return segundos; } } |
Java ::: Classes e Componentes ::: JList |
Java Swing para iniciantes - Como adicionar itens a uma JList em tempo de execuçãoQuantidade de visualizações: 22696 vezes |
Este exemplo mostra como inserir itens em uma JList do Java Swing em tempo de execução. O valor a ser inserido é informado em um JTextField. Veja que estamos usando a classe DefaultListModel e seu método addElement() para adicionar os novos itens. Veja a janela JFrame e os componentes usados para exemplificar esta funcionalidade: ![]() E agora 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 ---------------------------------------------------------------------- package arquivodecodigos; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Estudos extends JFrame{ JList lista; JTextField campo; public Estudos() { super("A classe JList"); Container c = getContentPane(); c.setLayout(new FlowLayout(FlowLayout.LEFT)); // Cria um novo DefaultListModel DefaultListModel modelo = new DefaultListModel(); // Cria a JList lista = new JList(); // Atribui o DefaultListModel à JList lista.setModel(modelo); // Um botão que permite adicionar itens na JList JButton btn = new JButton("Adicionar na JList"); btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ String valor = campo.getText(); if(valor.length() != 0){ ((DefaultListModel)(lista.getModel())) .addElement(valor); campo.setText(""); campo.requestFocus(); } } } ); // Adiciona a lista à janela c.add(new JScrollPane(lista)); // Cria um JTextField e o adiciona à janela campo = new JTextField(10); c.add(campo); // Adiciona o botão à janela c.add(btn); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
Vamos testar seus conhecimentos em JavaScript |
Qual é a forma correta de se escrever uma laço WHILE em JavaScript? A) while (a < 10) {} B) while a = 1 to 10 C) while (a < 10): D) while (a < 10; a++) {} Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Como encontrar o maior valor entre x e y em JavaScript? A) ceil(x, y) B) top(x, y) C) Math.max(x, y) D) Math.ceil(x, y) Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Formas: Confecção e colocação As formas e os escoramentos possuem diversos elementos, sobre eles, assinale a alternativa correta. A) As travessas têm a finalidade de impedir que os painéis se abram por ocasião do lançamento e adensamento do concreto. B) As cunhas são colocadas abaixo do par de pranchas, servindo para distribuir as tensões nas bases, principalmente na anulação do efeito do puncionamento. C) O chapuz apoia o painel da laje. São colocados de 50,0 em 50,0 cm. Servem para evitar que o painel deforme por flexão (flecha). D) Os pontaletes, também chamados de prumos ou pés-direitos, são os elementos de apoio da forma e devem ter diâmetro mínimo de 8,0 cm ou 5,0x7,0 cm. E) Os painéis são feitos de madeira de pinho, pregadas de cutelo, podendo também ser usados em formato de caibros de 5,0x7,0 cm ou 7,0x7,0 cm. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em AutoCAD Civil 3D |
Levantamento topográfico no Civil 3D É uma ferramenta fundamental para gerenciar e organizar dados de levantamento topográfico. Ela permite que você armazene, edite e utilize informações de levantamentos topográficos e de campo de maneira eficiente. Estamos falando da ferramenta: A) Point Groups B) Aba Survey do Prospector C) Survey Point D) Survey Database Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Equação da continuidade Um cano de 2,00 cm de diâmetro se estreita para 8,00 mm. No primeiro segmento, um líquido flui com velocidade de 4,00 m/s. A velocidade do líquido no segundo segmento e a vazão de volume no cano valem, respectivamente: A) 16,0 m/s e 1,26 x 10-3 m3/s. B) 100 m/s e 5,03 x 10-4 m3/s. C) 25,0 m/s e 4,00 x 10-4 m3/s. D) 25,0 m/s e 1,26 x 10-3 m3/s. E) 1,00 m/s e 1,26 m3/s. 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 |