Criando uma Calculadora em Java
Primeiramente, vamos criar um novo aplicativo Java. No tutorial está sendo utilizado a IDE do Netbeans.
Primeiramente, vamos criar um novo aplicativo Java. No tutorial está sendo utilizado a IDE do Netbeans.
Click this bar to view the original image of 739x511px. |
Neste exemplo, vou renomear o nome do projeto para ‘calc’.
Click this bar to view the original image of 737x155px. |
Vamos clicar sobre o pacote ‘calc’ com o botão direito e adicionar um novo Formulário JFrame.
Click this bar to view the original image of 533x138px. |
Renomeie o nome do JFrame para fCalc para identidicar o forumário da calculadora.
A partir daí, só nos resta desenhar a calculadora, utilizando JButton e JTextField como o visor da mesma.
O Formulário fica da seguinte maneira:
Agora basta alterar o nome da variável do visor para começarmos a programar.
Clique com o botão direito em cima do JTextField e clique em ‘Alterar nome da variável’.
Renomeie para ‘visor’ para que possamos identificar e facilitar o código.
Agora, vamos mandar o Java escrever no visor cada número de acordo com cada botão que o usuário clicar.
Vamos criar uma rotina para isso, com o seguinte código:
Código PHP:
Código PHP: private void preecher_visor(String valor){ String valor_atual = visor.getText(); // pega o texto atual do visor visor.setText(valor_atual + valor); // adiciona o texto ao valor atual } |
Para continuar, precisamos criar duas variaveis globais que serão usadas
pelo projeto todo, uma String para receber o primeiro valor e um Char
para receber o operador atual.
Então, declare:
Código PHP:
char operador; String valor1; |
Adicione para cada operador ao evento actionPerformed o seguinte código, mudando apenas o operador para seu respectivo texto.
Código PHP:
No caso acima, o código pertence ao botão de soma.
Agora a função responsável por calcular a variavel valor1 com o valor atual pela variavel operador.
Essa função retorna um valor inteiro. repare: private int
Código PHP:
Agora, só nos resta o código do botão igual (=) para calcular o valor atual com o valor armazenado na variavel valor1.
Para isso vamos chamar a função que criamos anteriormente que nos retorna um valor inteiro, chamada calcular.
Código PHP:
Ao executarmos a aplicação, o formulário não é exibido, por que?
Porque ele começa sendo executado a partir do arquivo calc.java e não do formulário JFrame (fCalc).
Então, abra o arquivo java.calc e adicione a linha abaixo.
Código PHP:
Flws.'
operador = '+'; // recebe o operador valor1 = visor.getText(); // recebe o valor atual do visor visor.setText(""); // apaga o visor |
Agora a função responsável por calcular a variavel valor1 com o valor atual pela variavel operador.
Essa função retorna um valor inteiro. repare: private int
Código PHP:
private int calcular(int num1, char op, int num2){ // declaramos as variveis necessarias para o calculo int res = 0; // resultado if(op == '+'){ // se operador = + entao... res = num1 + num2; // resultado = numero1 + n2 } else if(op == '-'){ // senao, se... res = num1 - num2; } else if(op == '*'){ res = num1 * num2; } else if(op == '/'){ res = num1 / num2; } return res; // retorna resultado } |
Para isso vamos chamar a função que criamos anteriormente que nos retorna um valor inteiro, chamada calcular.
Código PHP:
private void jButton14ActionPerformed(java.awt.event.ActionEvent evt) { String valor2 = visor.getText(); // valor2 recebe o valor atual int v = Integer.parseInt(valor1); // converte o valor1 em inteiro int v2 = Integer.parseInt(valor2); // converte valor2 em inteiro visor.setText(""+calcular(v, operador, v2)); // define o visor pelos parametros da função calcular // v = valor1 | v2 = valor2 (atual) | operador = variavel declarada anteriormente } |
Porque ele começa sendo executado a partir do arquivo calc.java e não do formulário JFrame (fCalc).
Então, abra o arquivo java.calc e adicione a linha abaixo.
Código PHP:
Código PHP: package calc; import javax.swing.JFrame; public class Calc { public static void main(String[] args) { // cria uma nova instancia do formulário e deixa-o visivel. new fCalc().setVisible(true); } } |