Você está aqui: Java ::: Dicas & Truques ::: Programação Orientada a Objetos

Como usar o modificador final em classes, variáveis e métodos Java - Programação Orientada a Objetos em Java

Quantidade de visualizações: 13401 vezes
O modificador final pode ser usado com classes, variáveis e métodos. É claro que o significado varia dependendo do uso. Por exemplo, ao marcarmos uma variável com o modificador final, estamos na verdade criando uma constante, ou seja, uma variável cujo conteúdo não pode ser alterado durante a execução do programa. Veja:

Este trecho de código ou resolução de exercício faz parte do Super Pack 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos em Java, Python, VisuAlg, Portugol, Delphi, C#, C, C++, VB.NET, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Aprenda a programar resolvendo problemas do mundo real. Tudo em português, com comentários em português.

Quero Ser Apoiador(a)


Ao tentarmos compilar este programa teremos a seguinte mensagem de erro:

Estudos.java:7: cannot assign a value to 
final variable VALOR
    VALOR = 10;
    ^
1 error


Tenha em mente, porém, que quando uma variável marcada como final é uma referência a um objeto, é a referência que não poderá ser alterada. As propriedades do objeto para a qual ela aponta poderão sofrer alterações, exceto se estes também estiverem marcados como final.

Quando aplicado a classes, o modificador final garante que a classe não poderá ser extendida, ou seja, não é possível criar uma classe derivada a partir de uma classe marcada como final. Veja:

Este trecho de código ou resolução de exercício faz parte do Super Pack 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos em Java, Python, VisuAlg, Portugol, Delphi, C#, C, C++, VB.NET, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Aprenda a programar resolvendo problemas do mundo real. Tudo em português, com comentários em português.

Quero Ser Apoiador(a)


Ao tentarmos compilar este código teremos a seguinte mensagem de erro:

Estudos.java:7: cannot inherit from 
final Pessoa
class Aluno extends Pessoa{
                    ^
1 error


Um método marcado como final não pode ser sobrescrito. Veja um exemplo:

Este trecho de código ou resolução de exercício faz parte do Super Pack 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos em Java, Python, VisuAlg, Portugol, Delphi, C#, C, C++, VB.NET, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Aprenda a programar resolvendo problemas do mundo real. Tudo em português, com comentários em português.

Quero Ser Apoiador(a)


Ao tentarmos compilar este código teremos a seguinte mensagem de erro:

Estudos.java:14: getNome() in Aluno cannot 
override getNome() in Pessoa; overriden method is final
  public final String getNome(){
                      ^
1 error


Resumindo: variáveis marcadas com final não poder sofrer alterações. Classes marcadas como final não podem ter classes derivadas. Métodos marcados como final não podem ser sobrescritos.

Link para compartilhar na Internet ou com seus amigos:

Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercício Resolvido de Java - Desenvolva um programa que leia dez números do tipo inteiro ao usuário Armazene esses dez números em um vetor

Quantidade de visualizações: 1192 vezes
Exercício Resolvido de Java - Desenvolva um programa que leia dez números do tipo inteiro ao usuário. Armazene esses dez números em um vetor

Pergunta/Tarefa:

Desenvolva um programa que leia dez números do tipo inteiro ao usuário. Armazene esses dez números em um vetor. Para os valores dos elementos inseridos nas posições pares desse vetor, calcule o somatório deles, para os demais calcule a subtração desses valores. Em seguida, o programa deverá apresentar na tela os resultados.

Sua saída deverá ser parecida com:

Digite o 1.o número inteiro: 5
Digite o 2.o número inteiro: 1
Digite o 3.o número inteiro: 2
Digite o 4.o número inteiro: 3
Digite o 5.o número inteiro: 7
Digite o 6.o número inteiro: 8
Digite o 7.o número inteiro: 10
Digite o 8.o número inteiro: 54
Digite o 9.o número inteiro: 4
Digite o 10.o número inteiro: 5
A soma dos números nas posições pares é: 28
A subtração dos números nas posições ímpares é: -71
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) {
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);

    int numeros[] = new int[10]; // vetor para guardar os 10 números inteiros
    int soma = 0; // soma dos números nas posições pares
    int subtracao = 0; // subtração dos números nas posições impares
    
    // vamos fazer a leitura dos 10 valores inteiros
    for(int i = 0; i < numeros.length; i++){
      System.out.print("Digite o " + (i + 1) + ".o número inteiro: ");
      numeros[i] = Integer.parseInt(entrada.nextLine());
    }
    
    // agora vamos percorrer o vetor e obter a soma dos elementos nas posições
    // pares e a subtração dos elementos nas posições ímpares
    for(int i = 0; i < numeros.length; i++){
      if(i % 2 == 0){
        // posição par
        soma = soma + numeros[i];
      }
      else{
        // posição ímpar
        subtracao = subtracao - numeros[i];
      }
    }
    
    System.out.println("A soma dos números nas posições pares é: " + soma);
    System.out.println("A subtração dos números nas posições ímpares é: " 
      + subtracao);
  }
}



Java ::: Pacote java.awt.event ::: KeyEvent

Java Swing - Como obter o caractere da tecla pressionada usando o método getKeyChar() da classe KeyEvent do Java

Quantidade de visualizações: 2987 vezes
Em algumas situações nós precisamos obter o caractere da tecla pressionada em nossas aplicações Java Swing. Para isso podemos usar o método getKeyChar() da classe KeyEvent. Veja sua assinatura:

public char getKeyChar()


O retorno do método é um char representando o caractere associado à tecla "digitada" (pressionada e liberada). Veja um trecho de código no qual temos uma janela JFrame que implementa a interface KeyListener e reage ao evento keyTyped() mostrando a letra digitada:

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

package estudos;

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class Janela extends JFrame implements KeyListener{
  public Janela(){
    super("Eventos do Teclado");
    Container c = getContentPane();
    FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
    c.setLayout(layout);
    
    // vamos adicionar o objeto listener 
    addKeyListener(this);

    setSize(350, 250);
    setVisible(true);
  }
    
  @Override
  public void keyPressed(KeyEvent e){
    // sem implementação
  }
    
  @Override
  public void keyReleased(KeyEvent e){
    // sem implementação
  }

  @Override
  public void keyTyped(KeyEvent e){
    // vamos obter o caractere que foi digitado
    char letra = e.getKeyChar();
    // mostra o caractere digitado
    JOptionPane.showMessageDialog(null, "O caractere pressionado foi: " + letra);
  }   
  
  public static void main(String args[]){
    Janela j = new Janela();
    j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

É importante observar que o valor retornado pelo método getKeyChar() só possui sentido quando usado com eventos KEY_TYPED, uma vez que o caractere não é exibido quando o método é usado com os eventos KEY_PRESSED e KEY_RELEASED. Note ainda que a tecla Shift pode ser usada durante este evento. Assim, se combinarmos Shift + "s", o retorno será "S".

Este método retorna o valor da constante KeyEvent.CHAR_UNDEFINED se um caractere Unicode válido não existir para o evento de "digitação" da tecla.


Java ::: Java para Engenharia ::: Eletricidade, Circuitos Elétricos e Eletrônicos

Como calcular corrente, voltagem, resistência e potência em um circuito série de corrente contínua usando Java

Quantidade de visualizações: 1564 vezes
Como calcular corrente, voltagem, resistência e potência em um círcuito série de corrente contínua usando Java

Nesta dica mostrarei como é possível usar operações básicas da linguagem Java para calcular a corrente, voltagem, resistência e potência em um circuito série de corrente contínua.

É conhecido como um circuito série um circuito composto exclusivamente por componentes elétricos ou eletrônicos conectados em série (de conexão em série, que é o mesmo que associação em série ou ligação em série). A associação em série é uma das formas básicas de se conectarem componentes elétricos ou eletrônicos. A nomeação descreve o método como os componentes são conectados.

Vanos começar analisando a seguinte imagem:



Esta imagem foi extraída do Simulador do PHET, no endereço https://phet.colorado.edu. Note que temos uma fonte de alimentação 90V, e três resistores (com resistências de 10&#937;, 20&#937; e 30&#937;).

Vamos começar relembrando os aspectos importantes dos circuitos em série:

1) A corrente elétrica I (medida em ampères (A), ou coulombs por segundo) é comum a todos os elementos do circuito.

2) A tensão elétrica V, (medida em volts (V), ou joules por coulomb) é dividida entre as cargas, ou seja, a soma das tensões nas cargas deve ser igual à tensão da fonte de alimentação.

3) A resistência elétrica R (medida em ohms (&#937;)) total do circuito é igual à soma de todas as resistências das cargas.

4) A potência total P (medida em watts (W)) é igual à soma das potências das cargas que compõem o circuito.

Vamos escrever um pouco de código então? Veja nosso primeiro código Java que calcula a corrente total, a tensão total, a resistência total e a potência total do circuito em série mostrado na imagem:

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

package estudos_java;

public class Estudos{
  public static void main(String[] args){
    // Tensão total do circuito em série
    double eTotal = 90.0;
 
    // Resitência total
    double resist1 = 10.0;
    double resist2 = 20.0;
    double resist3 = 30.0;
    double rTotal = resist1 + resist2 + resist3;
    
    // Corrente elétrica total
    double iTotal = eTotal / rTotal;
    
    // Potência elétrica total
    double pTotal = eTotal * iTotal; 
    
    // mostra os valores
    System.out.println("Tensão total: " + eTotal);
    System.out.println("Resistência total: " + rTotal);
    System.out.println("Corrente total: " + iTotal);
    System.out.println("Potência total: " + pTotal);
    
    System.exit(0);
  }
} 

Ao executar este código Java nós teremos o seguinte resultado:

Tensão total: 90.0
Resistência total: 60.0
Corrente total: 1.5
Potência total: 135.0

Pronto! Agora que já sabemos o valor da corrente elétrica, e sabemos que a corrente é comum a todos os elementos do circuito em série, podemos calcular a tensão individual dos componentes. Assim, veja um trecho de código Java que calcula a tensão elétrica nos três resistores (lembre-se: tensão é o produto da corrente pela resistência):

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

package estudos_java;

public class Estudos{
  public static void main(String[] args){
    // Tensão total do circuito em série
    double eTotal = 90.0;
 
    // Resitência total
    double resist1 = 10.0;
    double resist2 = 20.0;
    double resist3 = 30.0;
    double rTotal = resist1 + resist2 + resist3;
    
    // Corrente elétrica total
    double iTotal = eTotal / rTotal;
    
    // Potência elétrica total
    double pTotal = eTotal * iTotal; 
    
    // mostra os valores
    System.out.println("Tensão total: " + eTotal);
    System.out.println("Resistência total: " + rTotal);
    System.out.println("Corrente total: " + iTotal);
    System.out.println("Potência total: " + pTotal);
    
    // mostra as tensões nos resistores
    System.out.println("\nTensão nos resistores individuais:");
    double e1 = resist1 * iTotal;
    double e2 = resist2 * iTotal;
    double e3 = resist3 * iTotal;
    
    System.out.println("Tensão no Resistor 1: " + e1 + "V");
    System.out.println("Tensão no Resistor 2: " + e2 + "V");
    System.out.println("Tensão no Resistor 3: " + e3 + "V");
    
    System.exit(0);
  }
} 

Ao executar este código Java nós teremos o seguinte resultado:

Tensão total: 90.0
Resistência total: 60.0
Corrente total: 1.5
Potência total: 135.0

Tensão nos resistores individuais:
Tensão no Resistor 1: 15.0V
Tensão no Resistor 2: 30.0V
Tensão no Resistor 3: 45.0V

Para finalizar, vamos calcular a potência dissipada em cada um dos resistores de forma individual. Observe que a potência é o produto da tensão pela corrente (P = E.I). Eis o código:

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

package estudos_java;

public class Estudos{
  public static void main(String[] args){
    // Tensão total do circuito em série
    double eTotal = 90.0;
 
    // Resitência total
    double resist1 = 10.0;
    double resist2 = 20.0;
    double resist3 = 30.0;
    double rTotal = resist1 + resist2 + resist3;
    
    // Corrente elétrica total
    double iTotal = eTotal / rTotal;
    
    // Potência elétrica total
    double pTotal = eTotal * iTotal; 
    
    // mostra os valores
    System.out.println("Tensão total: " + eTotal);
    System.out.println("Resistência total: " + rTotal);
    System.out.println("Corrente total: " + iTotal);
    System.out.println("Potência total: " + pTotal);
    
    // mostra as tensões nos resistores
    System.out.println("\nTensão nos resistores individuais:");
    double e1 = resist1 * iTotal;
    double e2 = resist2 * iTotal;
    double e3 = resist3 * iTotal;
    
    System.out.println("Tensão no Resistor 1: " + e1 + "V");
    System.out.println("Tensão no Resistor 2: " + e2 + "V");
    System.out.println("Tensão no Resistor 3: " + e3 + "V");
    
    // mostra as potências dissapadas nos resistores
    System.out.println("\nPotência dissipada nos resistores individuais:");
    double p1 = e1 * iTotal; // Potência = Tensão x Corrente
    double p2 = e2 * iTotal;
    double p3 = e3 * iTotal;
    
    System.out.println("Potência no Resistor 1: " + p1 + "W");
    System.out.println("Potência no Resistor 2: " + p2 + "W");
    System.out.println("Potência no Resistor 3: " + p3 + "W");
    
    System.exit(0);
  }
} 

Ao executar este código Java nós teremos o seguinte resultado:

Tensão total: 90.0
Resistência total: 60.0
Corrente total: 1.5
Potência total: 135.0

Tensão nos resistores individuais:
Tensão no Resistor 1: 15.0V
Tensão no Resistor 2: 30.0V
Tensão no Resistor 3: 45.0V

Potência dissipada nos resistores individuais:
Potência no Resistor 1: 22.5W
Potência no Resistor 2: 45.0W
Potência no Resistor 3: 67.5W


Desafios, 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á 20 usuários muito felizes estudando em nosso site.