Fórum Calculadora em java (4 operações simples) #569311
09/04/2009
0
Gutocbts
Curtir tópico
+ 0Post mais votado
09/04/2009
Lucas Teixeira
Gostei + 1
Mais Posts
09/04/2009
Rodrigo Cansian
Gostei + 0
09/04/2009
Bruno Ambrózio
// Importa os pacotes necessários
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/** Calculadora
* [ coloque aqui a descrição da classe ]
* @author Bruno Brigantini Ambrozio © Nov - 2003
* @version 1.0
*/
public class Calculadora extends JFrame {
// Bloco 1 - Objetos da Janela
private JButton botao1;
private JButton botao2;
private JButton botao3;
private JButton botao4;
private JButton botao5;
private JButton botao6;
private JButton botao7;
private JButton botao8;
private JButton botao9;
private JButton botao0;
private JTextField fieldDisplay;
private JButton botaoDivisao;
private JButton botaoMultiplicacao;
private JButton linhaV;
private JButton botaoSubtracao;
private JButton botaoSoma;
private JButton botaoIgual;
private JButton linhaH;
private JButton botaoFechar;
private JButton botaoCE;
private JButton botaoC;
private JButton botaoVirgula;
private double doubleTotal=0, doubleTSoma=0, doubleTSubtracao=0, doubleTMultiplicacao=1,doubleTDivisao=1;
private String stringSoma="", stringSubtracao="", stringMultiplicacao="", stringDivisao="", stringArmazena="",
stringArmazenaAux="", auxDevolve="";
//o intOperacoes vai de 1 a 4 e corresponde as operacoes
private int intAuxMulDiv=0, intAuxOp=0, intOperacoes=0, intContadorOperacoes=0, intAcionaIgual;
public Calculadora() {
try {
mostra();
fieldDisplay.setEditable(false);
} catch(Exception ex) {
ex.printStackTrace();
}
}
private void mostra() throws Exception {
// Bloco 2 - Definição dos dados da Janela
this.getContentPane().setLayout(null);
this.getContentPane().setBackground(new Color(204, 204, 204));
this.setSize(277, 334);
this.setLocation(330, 103);
this.setTitle("Calculadora - Igual a Calc. do Win");
this.setResizable(false);
// Bloco 3 - Criação dos Objetos na Janela
botao1 = new JButton("1");
botao1.setBounds(new Rectangle(14, 109, 45, 30));
this.getContentPane().add(botao1, null);
botao1.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e) {
stringArmazena += "1";
fieldDisplay.setText(stringArmazena);
}
});
botao2 = new JButton("2");
botao2.setBounds(new Rectangle(77, 109, 45, 30));
this.getContentPane().add(botao2, null);
botao2.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e) {
stringArmazena += "2";
fieldDisplay.setText(stringArmazena);
}
});
botao3 = new JButton("3");
botao3.setBounds(new Rectangle(137, 109, 45, 30));
this.getContentPane().add(botao3, null);
botao3.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e) {
stringArmazena += "3";
fieldDisplay.setText(stringArmazena);
}
});
botao4 = new JButton("4");
botao4.setBounds(new Rectangle(14, 145, 45, 30));
this.getContentPane().add(botao4, null);
botao4.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e) {
stringArmazena += "4";
fieldDisplay.setText(stringArmazena);
}
});
botao5 = new JButton("5");
botao5.setBounds(new Rectangle(77, 145, 45, 30));
this.getContentPane().add(botao5, null);
botao5.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e) {
stringArmazena += "5";
fieldDisplay.setText(stringArmazena);
}
});
botao6 = new JButton("6");
botao6.setBounds(new Rectangle(137, 145, 45, 30));
this.getContentPane().add(botao6, null);
botao6.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e) {
stringArmazena += "6";
fieldDisplay.setText(stringArmazena);
}
});
botao7 = new JButton("7");
botao7.setBounds(new Rectangle(14, 182, 45, 30));
this.getContentPane().add(botao7, null);
botao7.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e) {
stringArmazena += "7";
fieldDisplay.setText(stringArmazena);
}
});
botao8 = new JButton("8");
botao8.setBounds(new Rectangle(77, 182, 45, 30));
this.getContentPane().add(botao8, null);
botao8.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e) {
stringArmazena += "8";
fieldDisplay.setText(stringArmazena);
}
});
botao9 = new JButton("9");
botao9.setBounds(new Rectangle(137, 182, 45, 30));
this.getContentPane().add(botao9, null);
botao9.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e) {
stringArmazena += "9";
fieldDisplay.setText(stringArmazena);
}
});
botao0 = new JButton("0");
botao0.setBounds(new Rectangle(77, 220, 45, 30));
this.getContentPane().add(botao0, null);
botao0.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e) {
stringArmazena += "0";
fieldDisplay.setText(stringArmazena);
}
});
fieldDisplay = new JTextField();
fieldDisplay.setBounds(new Rectangle(4, 18, 265, 28));
this.getContentPane().add(fieldDisplay, null);
botaoDivisao = new JButton("/");
botaoDivisao.setBounds(new Rectangle(206, 109, 45, 30));
this.getContentPane().add(botaoDivisao, null);
botaoDivisao.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e) {
try
{
//CONDICAO PARA QUANDO O ULTIMO EVENTO FOI O =
if (intAcionaIgual == 1)
{
intOperacoes = 4;
intAcionaIgual = 0;
intAuxOp = 0;
stringArmazena = "";
}
else
{
//CONDICAO PARA QUANDO A PRIMEIRA OPERACAO FOR UMA / OU *
if (intAuxMulDiv == 0)
{
doubleTotal = 1;
intAuxMulDiv= 1;
}
//CONDICAO PARA QUANDO FOR A PRIMEIRA VEZ QUE A OPERACAO É SETADA
if (intAuxOp == 0)
{
intAuxOp = 1;
intOperacoes = 4;
doubleTDivisao = Double.parseDouble(stringArmazena);
stringArmazena = "";
doubleTotal = doubleTDivisao;
System.out.println(doubleTotal);
}
else
{
calcularOperacoes(intOperacoes);
fieldDisplay.setEditable(true);
fieldDisplay.setText(String.valueOf(doubleTotal));
fieldDisplay.setEditable(false);
intOperacoes = 4;
}
}
}
catch (Exception et)
{
System.out.println("");
intOperacoes = 0;
}
}
});
botaoMultiplicacao = new JButton("*");
botaoMultiplicacao.setBounds(new Rectangle(206, 145, 45, 30));
this.getContentPane().add(botaoMultiplicacao, null);
botaoMultiplicacao.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e) {
try
{
if (intAcionaIgual == 1)
{
intOperacoes = 3;
intAcionaIgual = 0;
intAuxOp = 0;
stringArmazena = "";
}
else
{
if (intAuxMulDiv == 0)
{
doubleTotal = 1;
intAuxMulDiv= 1;
}
if (intAuxOp == 0)
{
intAuxOp = 1;
intOperacoes = 3;
doubleTMultiplicacao = Double.parseDouble(stringArmazena);
stringArmazena = "";
doubleTotal = doubleTMultiplicacao;
intContadorOperacoes++;
}
else
{
calcularOperacoes(intOperacoes);
fieldDisplay.setEditable(true);
fieldDisplay.setText(String.valueOf(doubleTotal));
fieldDisplay.setEditable(false);
intOperacoes = 3;
intContadorOperacoes++;
}
}
}
catch (Exception et)
{
System.out.println("");
intOperacoes = 0;
}
}
});
linhaV = new JButton();
linhaV.setBounds(new Rectangle(191, 106, 4, 152));
this.getContentPane().add(linhaV, null);
botaoSubtracao = new JButton("-");
botaoSubtracao.setBounds(new Rectangle(206, 183, 45, 30));
this.getContentPane().add(botaoSubtracao, null);
botaoSubtracao.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e) {
try
{
if (intAcionaIgual == 1)
{
intOperacoes = 2;
intAcionaIgual = 0;
intAuxOp = 0;
stringArmazena = "";
}
else
{
if (intAuxMulDiv == 0)
{
doubleTotal = 1;
intAuxMulDiv= 1;
}
if (intAuxOp == 0)
{
intAuxOp = 1;
intOperacoes = 2;
doubleTSubtracao = Double.parseDouble(stringArmazena);
stringArmazena = "";
doubleTotal = doubleTSubtracao;
System.out.println(doubleTotal);
}
else
{
calcularOperacoes(intOperacoes);
fieldDisplay.setEditable(true);
fieldDisplay.setText(String.valueOf(doubleTotal));
fieldDisplay.setEditable(false);
intOperacoes = 2;
}
}
}
catch (Exception et)
{
System.out.println("");
intOperacoes = 0;
}
}
});
botaoSoma = new JButton("+");
botaoSoma.setBounds(new Rectangle(206, 220, 45, 30));
this.getContentPane().add(botaoSoma, null);
botaoSoma.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e) {
try
{
if (intAcionaIgual == 1)
{
intOperacoes = 1;
intAcionaIgual = 0;
intAuxOp = 0;
stringArmazena = "";
}
else
{
if (intAuxMulDiv == 0)
{
doubleTotal = 1;
intAuxMulDiv= 1;
}
if (intAuxOp == 0)
{
intAuxOp = 1;
intOperacoes = 1;
doubleTSoma = Double.parseDouble(stringArmazena);
stringArmazena = "";
doubleTotal = doubleTSoma;
System.out.println(doubleTotal);
}
else
{
calcularOperacoes(intOperacoes);
fieldDisplay.setEditable(true);
fieldDisplay.setText(String.valueOf(doubleTotal));
fieldDisplay.setEditable(false);
intOperacoes = 1;
}
}
}
catch (Exception et)
{
System.out.println("");
intOperacoes = 0;
}
}
});
botaoIgual = new JButton("=");
botaoIgual.setBounds(new Rectangle(138, 221, 45, 30));
this.getContentPane().add(botaoIgual, null);
botaoIgual.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e) {
stringArmazenaAux = stringArmazena;
calcularOperacoes(intOperacoes);
stringArmazena = stringArmazenaAux;
fieldDisplay.setEditable(true);
fieldDisplay.setText(String.valueOf(doubleTotal));
fieldDisplay.setEditable(false);
intAcionaIgual = 1;
}
});
linhaH = new JButton();
linhaH.setBounds(new Rectangle(6, 264, 257, 4));
this.getContentPane().add(linhaH, null);
botaoFechar = new JButton("Fechar");
botaoFechar.setBounds(new Rectangle(89, 273, 100, 30));
this.getContentPane().add(botaoFechar, null);
botaoFechar.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e) {
aoFechar();
}
});
botaoCE = new JButton("CE");
botaoCE.setBounds(new Rectangle(14, 68, 84, 30));
this.getContentPane().add(botaoCE, null);
botaoCE.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e) {
fieldDisplay.setEditable(true);
fieldDisplay.setText(null);
fieldDisplay.setEditable(false);
stringArmazena = "";
}
});
botaoC = new JButton("C");
botaoC.setBounds(new Rectangle(98, 68, 84, 30));
this.getContentPane().add(botaoC, null);
botaoC.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e) {
doubleTotal = 0;
intAuxMulDiv = 0;
stringArmazena = "";
intAuxOp = 0;
fieldDisplay.setText(null);
}
});
botaoVirgula = new JButton(",");
botaoVirgula.setBounds(new Rectangle(14, 220, 45, 30));
this.getContentPane().add(botaoVirgula, null);
botaoVirgula.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e) {
stringArmazena += ".";
fieldDisplay.setText(stringArmazena);
}
});
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
aoFechar();
}
});
}
private void aoFechar() {
System.exit(0);
}
private void calcularOperacoes(int op)
{
stringArmazenaAux = stringArmazena;
switch(op)
{
case 1:
doubleTSoma = Double.parseDouble(stringArmazena);
doubleTotal = doubleTotal + doubleTSoma;
break;
case 2:
doubleTSubtracao = Double.parseDouble(stringArmazena);
doubleTotal = doubleTotal - doubleTSubtracao;
break;
case 3:
doubleTMultiplicacao = Double.parseDouble(stringArmazena);
doubleTotal = doubleTotal * doubleTMultiplicacao;
break;
case 4:
doubleTDivisao = Double.parseDouble(stringArmazena);
doubleTotal = doubleTotal / doubleTDivisao;
break;
}
stringArmazena = "";
}
// Insira aqui os métodos para os eventos
public static void main(String args[]) {
new Calculadora().show();
}
}
Gostei + 0
09/04/2009
Gutocbts
Gostei + 0
09/04/2009
Emerson Romagnoli
import java.awt.*;
import java.awt.event.*;
// Incio classe Calculadora
public class Calculadora
extends WindowAdapter
{
// criando o Frame
Frame frm1 = new Frame("Calculator Tabajara");
// criando o Panel
Panel pnl1 = new Panel(new GridLayout(4,4));
// criando o Menu
private MenuBar mnb1 = new MenuBar();
private Menu mn1 = new Menu("Arquivo");
private MenuItem mi1 = new MenuItem("Sair");
// criando os Botoes.
private Button btn1 = new Button("1");
private Button btn2 = new Button("2");
private Button btn3 = new Button("3");
private Button btn4 = new Button("4");
private Button btn5 = new Button("5");
private Button btn6 = new Button("6");
private Button btn7 = new Button("7");
private Button btn8 = new Button("8");
private Button btn9 = new Button("9");
private Button btn0 = new Button("0");
private Button btnLimpar = new Button("Clr");
private Button btnSomar = new Button("+");
private Button btnDiminuir = new Button("-");
private Button btnDividir = new Button("/");
private Button btnMultiplicar = new Button("x");
private Button btnResultado = new Button("=");
// Criando o Visor
private TextField txtF1 = new TextField("");
// variaveis de valor
private float valor1 = 0;
// Variavel de Operacao
// 1 - Somar
// 2 - Diminuir
// 3 - Dividir
// 4 - Multiplicar
private int operacao = 0;
public void setValor1()
{
this.valor1 = Float.parseFloat(txtF1.getText());
}
public float getValor1()
{
return valor1;
}
public Calculadora()
{
frm1.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent a)
{
System.exit(0);
}
public void windowOpened(WindowEvent a)
{
txtF1.requestFocus();
}
});
mi1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent a)
{
System.exit(0);
}
});
btn1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent a)
{
txtF1.setText("1");
}
});
btn2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent a)
{
txtF1.setText("2");
}
});
btn3.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent a)
{
txtF1.setText("3");
}
});
btn4.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent a)
{
txtF1.setText("4");
}
});
btn5.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent a)
{
txtF1.setText("5");
}
});
btn6.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent a)
{
txtF1.setText("6");
}
});
btn7.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent a)
{
txtF1.setText("7");
}
});
btn8.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent a)
{
txtF1.setText("8");
}
});
btn9.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent a)
{
txtF1.setText("9");
}
});
btn0.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent a)
{
txtF1.setText("0");
}
});
btnLimpar.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent a)
{
valor1 = 0;
txtF1.setText("");
}
});
btnSomar.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent a)
{
setValor1();
operacao = 1;
}
});
btnDiminuir.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent a)
{
setValor1();
operacao = 2;
}
});
btnDividir.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent a)
{
setValor1();
operacao = 3;
}
});
btnMultiplicar.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent a)
{
setValor1();
operacao = 4;
}
});
btnResultado.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent a)
{
switch (operacao)
{
//somar
case 1 :
{
operacao = 0;
txtF1.setText(Float.toString(getValor1() + Float.parseFloat(txtF1.getText())));
break;
}
//diminuir
case 2 :
{
operacao = 0;
txtF1.setText(Float.toString(getValor1() - Float.parseFloat(txtF1.getText())));
break;
}
//dividir
case 3 :
{
try
{
operacao = 0;
txtF1.setText(Float.toString(getValor1() / Float.parseFloat(txtF1.getText())));
}
catch(ArithmeticException ex)
{
txtF1.setText("");
System.out.println("É impossível divisão por zero ! erro : " + ex.getMessage());
}
break;
}
//multipicar
case 4 :
{
operacao = 0;
txtF1.setText(Float.toString(getValor1() * Float.parseFloat(txtF1.getText())));
break;
}
default :
System.out.println("Escolha uma operação");
break;
}
}
});
frm1.setSize(150,190); // tamamho do Frame
frm1.setLocation(250,300);// posiciona na tela
frm1.setBackground(Color.gray);// Muda a Cor de Fundo
//criando meu menu!!
mn1.add(mi1);
mnb1.add(mn1);
frm1.setMenuBar(mnb1);
// Adicionando o Visor no Frame
frm1.add(txtF1,BorderLayout.NORTH);
// Adicionando os Botoes no Panel
pnl1.add(btn7);
pnl1.add(btn8);
pnl1.add(btn9);
pnl1.add(btnDividir);
pnl1.add(btn4);
pnl1.add(btn5);
pnl1.add(btn6);
pnl1.add(btnMultiplicar);
pnl1.add(btn1);
pnl1.add(btn2);
pnl1.add(btn3);
pnl1.add(btnDiminuir);
pnl1.add(btnLimpar);
pnl1.add(btn0);
pnl1.add(btnResultado);
pnl1.add(btnSomar);
//Adicionando Panel no Frame
frm1.add(pnl1);
//Habilita mostrar o frame // sempre deixa-la como ultima linha!!
frm1.setVisible(true);
}
public static void main(String [] args)
{
new Calculadora();
}
}
// fim classe CalculadoraGostei + 0
09/04/2009
Emerson Romagnoli
Gostei + 0
09/04/2009
Lucas Teixeira
private class TrataBotoes implements ActionListener {
(........)
}Gostei + 0