então pessoal estou fazendo uma calculadora em java, está quase pronta, só falta a parte final
package relembrar;
import java.awt.*;
import java.awt.event.*;
import java.math.*;
import javax.swing.*;
import javax.swing.event.*;
public class Relembrar extends JFrame implements ActionListener {
private Container cont;
private JTextField txtValor1;
private JTextField txtValor2;
private ButtonGroup grupo;
private JRadioButton btMais;
private JRadioButton btMenos;
private JRadioButton btDiv;
private JRadioButton btMult;
private JRadioButton btpot;
private JRadioButton btrad;
private JRadioButton btsen;
private JRadioButton btcos;
private JRadioButton bttan;
private JRadioButton btx;
private JButton btResult;
private JButton btSair;
private JPanel panelCentro;
private JPanel panelDir;
private JPanel panelSul;
private char op;
private char arm;
private char arm1;
public static void main(String args[]) {
new Relembrar();
}
public Relembrar() {
super ("Calculadora");
cont = getContentPane();
cont.setLayout(new BorderLayout());
panelCentro = new JPanel(new GridLayout(2,2,5,5));
panelDir = new JPanel(new GridLayout(4,1));
panelSul = new JPanel(new GridLayout(1,2));
btResult = new JButton("Resultado");
btSair = new JButton("Sair");
grupo = new ButtonGroup();
btMais = new JRadioButton("Adição",true);
btMenos = new JRadioButton("Subtração",false);
btDiv = new JRadioButton("Divisão",false);
btMult = new JRadioButton("Multiplicação",false);
btpot = new JRadioButton("potenciação",false);
btrad = new JRadioButton("radiciação",false);
btsen = new JRadioButton("seno",false);
btcos = new JRadioButton("cosseno",false);
bttan = new JRadioButton("tangente",false);
btx = new JRadioButton("m+",false);
txtValor1 = new JTextField();
txtValor2 = new JTextField();
grupo.add(btMais);
grupo.add(btMenos);
grupo.add(btDiv);
grupo.add(btMult);
grupo.add(btpot);
grupo.add(btrad);
grupo.add(btsen);
grupo.add(btcos);
grupo.add(bttan);
grupo.add(btx);
panelCentro.add(new JLabel("Valor 1: "));
panelCentro.add(txtValor1);
panelCentro.add(new JLabel("Valor 2: "));
panelCentro.add(txtValor2);
panelDir.add(btMais);
panelDir.add(btMenos);
panelDir.add(btDiv);
panelDir.add(btMult);
panelDir.add(btpot);
panelDir.add(btrad);
panelDir.add(btsen);
panelDir.add(btcos);
panelDir.add(bttan);
panelDir.add(btx);
panelSul.add(btResult);
panelSul.add(btSair);
btResult.addActionListener(this);
btSair.addActionListener(this);
btMais.addActionListener(this);
btMenos.addActionListener(this);
btDiv.addActionListener(this);
btMult.addActionListener(this);
btpot.addActionListener(this);
btrad.addActionListener(this);
btsen.addActionListener(this);
btcos.addActionListener(this);
bttan.addActionListener(this);
btx.addActionListener(this);
cont.add(new JLabel("Calculadora"), BorderLayout.NORTH);
cont.add(panelCentro, BorderLayout.CENTER);
cont.add(panelSul, BorderLayout.SOUTH);
cont.add(panelDir, BorderLayout.EAST);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setSize(640,140);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btResult) calcula();
else if (e.getSource() == btSair) System.exit(0);
else if (e.getSource() == btMais) op = '+';
else if (e.getSource() == btMenos) op = '-';
else if (e.getSource() == btDiv) op = '/';
else if (e.getSource() == btMult) op = '*';
else if (e.getSource() == btpot) op = '^';
else if (e.getSource() == btrad) op = 'v';
else if (e.getSource() == btsen) op = 's';
else if (e.getSource() == btcos) op = 'c';
else if (e.getSource() == bttan) op = 't';
else if (e.getSource() == btx) arm='x' ;
}
public void calcula() {
try {
Double v1 = new Double(txtValor1.getText().trim());
Double v2 = new Double(txtValor2.getText().trim());
double resultado;
double armazena = 0;
armazena=armazena- v2.doubleValue();
switch (op) {
case '+': { resultado = v1.doubleValue() + v2.doubleValue(); break; }
case '-': { resultado = v1.doubleValue() - v2.doubleValue(); break; }
case '/': { resultado = v1.doubleValue() / v2.doubleValue(); break; }
case '*': { resultado = v1.doubleValue() * v2.doubleValue(); break; }
case '^': { resultado = Math.pow(v1,v2) ; break; }
case 'v': { resultado = Math.pow(v1,1/v2) ; break; }
case 's': { resultado = (Math.PI/180) * v1;
resultado = Math.sin(resultado); resultado = ( Math.round( (resultado * 100000.0) ) ) / 100000.0; break; }
case 'c': { resultado = (Math.PI/180) * v1;
resultado = Math.cos(resultado); resultado = ( Math.round( (resultado * 100000.0) ) ) / 100000.0; break; }
case 't': {resultado = (Math.PI/180) * v1;
resultado= Math.tan(resultado); resultado = ( Math.round( (resultado * 100000.0) ) ) / 100000.0; break; }
default:{ resultado = 0; break; }
}
armazena = resultado;
switch (arm)
{
case 'x': { resultado= armazena + v2.doubleValue() ; break; }
}
// if(armazena == resultado){<<<o que colocar aqui?
JOptionPane.showMessageDialog(null, new Double(resultado).toString());
// }else if(armazena > resultado){ <<<< e aqui?
JOptionPane.showMessageDialog(null, new Double(armazena).toString());
// }
}
catch (Exception e) {
JOptionPane.showMessageDialog(null, "Verifique os números digitados.");
}
}
}
o meu problema é o seguinte , quando clico no botao m+ da calculadora o objetivo dele é pegar o que está em resultado e somar com o valor 2, até ai tudo bem, mas qdo volto e quero fazer uma simples adicao, ele continua com esse mesmo processo do m+, entao consegui resolver esse problema parcialmente colocando outra caixa de texto que mostra o valor de “armazena”, entao minha pergunta é a seguinte como faço um if para mostrar o resultado qdo clico em algumas das operacoes, e um outro if para mostrar o armazena qdo clico em m+
agradeço desde já