Você está aqui: Java ::: Dicas & Truques ::: Mouse e Teclado

Entenda a interface KeyListener

Quantidade de visualizações: 12023 vezes


Esta interface é usada para receber eventos do teclado (pressionamento de teclas). Classes interessadas em processar eventos do teclado devem implementar esta interface (e todos os seus métodos) ou extender a classe abstrata KeyAdapter (sobrescrevendo apenas os métodos de interesse).

O objeto listener criado a partir desta classe é registrado no componente usando seu método addKeyListener. Veja um exemplo:
Teclado teclado = new Teclado();
this.addKeyListener(teclado);
Neste exemplo, a classe Teclado extende a classe KeyAdapter.

Um evento do teclado é gerado quando uma tecla é pressionada, liberada ou digitada. O método relevante no objeto ouvido é então invocado e uma instância da classe KeyEvent é fornecida a ele.

Link para compartilhar na Internet ou com seus amigos:

Java ::: Pacote java.util ::: Iterator

Como usar objetos da interface Iterator do Java em suas aplicações

Quantidade de visualizações: 2805 vezes
Um objeto da interface Iterator<E>, no pacote java.util, é usado para percorrer os elementos de uma coleção. Um Iterator é usado com frequencia em substituição a um Enumeration. Há duas diferenças principais entre os dois:

a) Um Iterator permite a remoção de elementos na coleção sendo percorrida no momento.
b) Os métodos do Iterator são mais curtos e apresentam melhoria em relação aos métodos do Enumeration.

As subinterfaces conhecidas de Iterator<E> são ListIterator<E> e XMLEventReader. As classes conhecidas que implementam esta interface são BeanContextSupport.BCSIterator, EventReaderDelegate e Scanner.

Veja um trecho de código no qual usamos um Iterator para percorrer e exibir os valores dos elementos de uma ArrayList:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

import java.util.ArrayList;
import java.util.Iterator;

public class Estudos{
  public static void main(String[] args){
    // vamos criar uma ArrayList
    ArrayList<String> pessoas = new ArrayList();
    pessoas.add("Osmar");
    pessoas.add("Carlos");
    pessoas.add("Fernanda");
    
    // vamos obter um Iterator para a lista e percorrer todos os elementos
    for(Iterator<String> pessoa = pessoas.iterator(); pessoa.hasNext();){
      System.out.println(pessoa.next());
    }
  }
}

Ao executar este exemplo nós teremos o seguinte resultado:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

Osmar
Carlos
Fernanda



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Exercícios Resolvidos de Java - Como criar um conversor de moedas em Java - Um programa Java para converter de Real para Dólar e de Dólar para Real

Quantidade de visualizações: 1908 vezes
Pergunta/Tarefa:

Escreva um programa Java para converter de Real para Dólar e vice-versa. Seu programa deverá ler o valor a ser convertido e a opção de conversão, ou seja, se o usuário quer converter de Real para Dólar ou se quer converter de Dólar para Real. Em seguida mostre o valor convertido.

Você pode pedir também a cotação do Dólar ou já deixar definido no código. Na resolução eu fixei a cotação no código mesmo, tomando como base a cotação do Dólar na data 20/02/2023.

Sua saída deverá ser parecida com:

Valor a ser convertido: 7

1. Converter de Real para Dólar
2. Converter de Dólar para Real
Sua opção: 1

O valor convertido para Dólar é: $ 1,28

Valor a ser convertido: 1

1. Converter de Real para Dólar
2. Converter de Dólar para Real
Sua opção: 2

O valor convertido para Real é: R$ 5,46
Resposta/Solução:

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 registrar aqui a cotaçao do dólar
    double cotacao_dolar = 5.4613; // 20/02/2023
    // valor informado e valor convertido
    double valor, valor_convertido;
    // para ler a opção do usuário
    int opcao;
    
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos pedir para o usuário informar o valor a ser convertido
    System.out.print("Valor a ser convertido: ");
    valor = Double.parseDouble(entrada.nextLine());
    
    // vamos mostrar as opções de conversão
    System.out.println("\n1. Converter de Real para Dólar");
    System.out.println("2. Converter de Dólar para Real");
    System.out.print("Sua opção: ");
    opcao = Integer.parseInt(entrada.nextLine());

    // vamos fazer a conversão entre as moedas 
    switch(opcao){
      case 1: // efetua a conversão de Real para Dólar
        valor_convertido = valor / cotacao_dolar;
        System.out.printf("\nO valor convertido para Dólar é: $ %.2f\n\n",
          valor_convertido);
        break;
      
      case 2: // efetua a conversão de Dólar para Real
        valor_convertido = valor * cotacao_dolar;
        System.out.printf("\nO valor convertido para Real é: R$ %.2f\n\n",
          valor_convertido);
        break;
        
      default:
        System.out.println("\nVocê informou uma opção inválida.\n\n");
    }
  }
}



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 inteiros

Quantidade de visualizações: 1673 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
}
Sua aplicação deverá solicitar ao usuário os valores do vetor e o valor a ser pesquisado. Sua saída deverá ser parecida com:

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.
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 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
  }
}



Vamos testar seus conhecimentos em Ética e Legislação Profissional

O código de ética profissional: Concorrência

No Brasil, a livre concorrência está subordinada ao artigo 173, § 4º, da Constituição Federal. Posteriormente, foi instituído o Conselho Administrativo de Defesa Econômica (Cade), cujo objetivo é ___________.

Assinale a alternativa que completa a lacuna de forma correta.

A) proteger os consumidores e o mercado internacional de ações desonestas, práticas ilícitas e antiéticas.

B) proteger os consumidores, garantir a reserva de mercado para as commodities e combater ações desonestas, práticas ilícitas e antiéticas.

C) liberar a fusão entre as empresas como forma de proteger os consumidores e o mercado econômico.

D) proibir a entrada de produtos importados, visando à proteção da indústria nacional e dos consumidores.

E) proteger os consumidores e o mercado econômico de ações desonestas, práticas ilícitas e antiéticas.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Número de Froude

O número de Froude (Fr) é um coeficiente adimensional, frequentemente utilizado na hidráulica de condutos abertos para determinar a classificação do regime que o escoamento livre apresenta. Quando o Fr é igual a 1, o regime é classificado como crítico; com Fr > 1, o regime é supercrítico; e com Fr < 1, o regime é subcrítico.

Sobre esta classificação afirma-se que:

A) No regime crítico há equílibrio de forças e a velocidade é menor que a celeridade.

B) No regime supercrítico, o escoamento é mais influenciado pelas forças gravitacionais.

C) No regime supercrítico, o escoamento é regido pelas energias cinéticas e inerciais.

D) No regime subcrítico ou torrencial, as forças gravitacionais regem o escoamento.

E) No regime crítico não há equilíbrio entre as energias que influenciam o escoamento.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Empuxo

O princípio elaborado por Arquimedes diz que a força de flutuação sobre um corpo submerso em um fluido é igual ao peso do fluido deslocado pelo corpo.

À luz desse princípio, calcule a carga total que um navio no mar (1,03g/cm3) pode carregar sem afundar, supondo que ele tem um volume de 200m3.

A) 150.000kg.

B) 190.000kg.

C) 106.000kg.

D) 200.000kg.

E) 206.000 kg.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil

Processos e técnicas construtivas de instalações elétricas e hidráulicas

As instalações elétricas são compostas por dispositivos cuja função é distribuir a energia elétrica, proveniente da rede de abastecimento, entre os pontos de utilização. Analise as afirmativas a seguir, referentes aos dispositivos que compõem as instalações elétricas.

I. O quadro de distribuição consiste no dispositivo responsável pela divisão dos circuitos elétricos de uma edificação.

II. Os condutores consistem em fios ou cabos de cobre ou alumínio, cuja função é transmitir a corrente elétrica.

III. As tomadas de corrente são dispositivos cuja função é gerar corrente elétrica, permitindo a alimentação de equipamentos.

IV. Os dispositivos de manobra são aqueles que permitem a interrupção da transmissão da corrente elétrica.

Assinale a alternativa que apresenta somente as afirmativas corretas.

A) Apenas a afirmativa I está correta.

B) Apenas a afirmativa III está correta.

C) Apenas as afirmativas II e III estão corretas.

D) Apenas as afirmativas I, II e IV estão corretas.

E) As afirmativas I, II, III e IV estão corretas.
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

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

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware 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 funcionalidadesControle 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
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 55 usuários muito felizes estudando em nosso site.