Como fazer uma calculadora java?

Como se faz uma calculadora simples em java?

sua pergunta ta bem abstrata…
o que teria a calculadora? ela teria os botoes pra o cara clicar(q nem a do windows) ou é tudo digitando mesmo? seria usando Swing, ou pelo Console?
tem um post aqui q pode te ajudar.
flw


Calculadora |
|
___________ _________ ___________ |
| | | | | | |
| Valor1 | | + | | _ | |
|
| || |
| |
___________ __________ ___________ |
| | | | | | |
| Valor2 | | X | | / | |
|
| |
__| |
| |
___________ ____________ |
| | | | |
| Resultado| | Limpar | |
|
| |___| |
____________________________________|

Valor1 e valor2 serão informados utilizando a caixa de edição JTextField.
As operações +,-,*,/ serão selecionadas atraves dos botões Jbutton.
O resultado da operação solicitada será informada no campo Resultado.

| calculadora |

| valor1 | | + | | - |

| valor2 | | X | | / |

| resultado | | Limpar |

Valor1 e valor2 serão informados utilizando a caixa de edição JTextField.
As operações +,-,*,/ serão selecionadas atraves dos botões Jbutton.
O resultado da operação solicitada será informada no campo Resultado.

modifiquei um pouco o codigo que citei no link acima, qualquer coisa a mais que voce precisar, vc muda ai…
acho que ainda há alguns erros de lógica no código, se for de sua conveniência, ou seja, se voce for usar esse código, corrija-os.

espero ter ajudado

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

/**
 * br.ufpe.cin
 * @author Ernani
 */
public class Calculadora extends JFrame implements ActionListener {
   private JPanel fundo;
   private JButton soma;
   private JButton subtracao;
   private JButton multiplicacao;
   private JButton divisao;
   private JButton limpar;
   private JTextField campo1;
   private JTextField campo2;
   private JTextField result;
   private JLabel tag;
   
   public Calculadora() {
      super(".: Calculadora");
      this.setBounds(100, 100, 300, 200);
      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      this.getContentPane().setLayout(null);
      this.setResizable(false);      
      //INICIA O FUNDO
      this.fundo = new JPanel(null);
      this.fundo.setBounds(0, 0, 300, 200);
      this.fundo.setBackground(new Color(200, 200, 200));
      this.getContentPane().add(this.fundo);
      
      //INICIA OS COMPONENTES INTERNOS
      this.soma = new JButton("ADIÇÃO(+)");
      this.subtracao = new JButton("SUBTRAÇÃO(-)");
      this.multiplicacao = new JButton("MULTIP.(x)");
      this.divisao = new JButton("DIVISÃO(/)");
      this.limpar = new JButton("limpar");
      this.campo1 = new JTextField();
      this.campo2 = new JTextField();
      this.result = new JTextField();
      this.tag = new JLabel("Resultado: ");
      
      //ADICIONA OS COMPONENTES INTERNOS
      this.fundo.add(this.soma);   
      this.fundo.add(this.subtracao);
      this.fundo.add(this.multiplicacao);
      this.fundo.add(this.divisao);
      this.fundo.add(this.limpar);
      this.fundo.add(this.campo1);
      this.fundo.add(this.campo2);
      this.fundo.add(this.result);
      this.fundo.add(this.tag);
      
      //CONFIGURA OS COMPONENTES INTERNOS
      this.soma.setBounds(10, 80, 135, 20);
      this.subtracao.setBounds(155, 80, 135, 20);
      this.multiplicacao.setBounds(10, 110, 135, 20);
      this.divisao.setBounds(155, 110, 135, 20);
      this.limpar.setBounds(110, 140, 80, 20);
      this.campo1.setBounds(10, 5, 280, 20);
      this.campo2.setBounds(10, 30, 280, 20);
      this.result.setBounds(85, 55, 205, 20);
      this.tag.setBounds(10, 55, 70, 20);
      this.campo1.setHorizontalAlignment(SwingConstants.RIGHT);
      this.campo2.setHorizontalAlignment(SwingConstants.RIGHT);
      this.result.setHorizontalAlignment(SwingConstants.RIGHT);
      this.result.setEditable(false);
      this.result.setBackground(new Color(255, 255, 255));
            
      //ADICIONA OS LISTENERS
      this.soma.addActionListener(this);
      this.subtracao.addActionListener(this);
      this.multiplicacao.addActionListener(this);
      this.divisao.addActionListener(this);
      this.limpar.addActionListener(this);
      
      //FAZ A JANELA APARECER
      this.setVisible(true);
   }   
   
   private void travar(boolean b) {
   	this.campo1.setEditable(b);
   	this.campo2.setEditable(b);
   	if(b) {
   		this.result.setBackground(new Color(255, 255, 255));
   	}else {
   		this.result.setBackground(new Color(0, 255, 255));
   	}
   }
   
   public void actionPerformed(ActionEvent ae) {
   	double temp = 0.0;
   	if(ae.getSource() == this.soma) {
   		temp = Double.parseDouble(this.campo1.getText()) + Double.parseDouble(this.campo2.getText());
   		this.result.setText(Double.toString(temp));
   		this.travar(false);
   	} else
   	if(ae.getSource() == this.multiplicacao) {
   		temp = Double.parseDouble(this.campo1.getText()) * Double.parseDouble(this.campo2.getText());
   		this.result.setText(Double.toString(temp));
   		this.travar(false);
   	} else
   	if(ae.getSource() == this.divisao) {
   		temp = Double.parseDouble(this.campo1.getText()) / Double.parseDouble(this.campo2.getText());
   		this.result.setText(Double.toString(temp));	
   		this.travar(false);
   	} else
   	if(ae.getSource() == this.subtracao) {
   		temp = Double.parseDouble(this.campo1.getText()) - Double.parseDouble(this.campo2.getText());
   		this.result.setText(Double.toString(temp));
   		this.travar(false);
   	}
   	
   	if(ae.getSource() == this.limpar) {
   		temp = 0.0;
   		this.campo1.setText("");
   		this.campo2.setText("");
   		this.result.setText("");
   		this.travar(true);
   	}
   }
   
   public static void main(String[] args) {
      Calculadora c = new Calculadora();
   }
   
}