Hola, que tal
Necesito que mi codigo haga que cuando se presione "+ , -, *, /" almacene o muestre el resultado hasta el momendo como lo hacen las calculadoras normales. por ejemplo
4+5 -2 *6
espero haberme dado a entender
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class prueba extends Applet
{
Button bn[]=new Button[11];
Button bn2[]=new Button[5];
Button igual=new Button("=");
Button pto=new Button(".");
TextField txt1=new TextField(25);
double num1=0;
double num2;
double res=0;
Label dis = new Label("");
boolean equals = false;
String d;
int word=1;
char ope;
public prueba()
{
setLayout(new FlowLayout());
int i;
for (i=0;i<bn.length;i++)
{
bn
=new Button(String.valueOf(+i));
bn.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Numero(e);
}
});
add(bn);
}
for (i=0;i<bn2.length;i++)
{
bn2=new Button();
switch(i)
{
case 0:
bn2.setLabel("+");
break;
case 1:
bn2.setLabel("*");
break;
case 2:
bn2.setLabel("-");
break;
case 3:
bn2.setLabel("/");
break;
case 4:
bn2.setLabel("C");
break;
}
bn2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
almacenar(e);
}
});
add(bn2);
}
igual.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
mostrar(e);
}
});
add(igual);
/*pto.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
punto(e);
}
});
add("dis",pto);*/
//txt1.setBounds(100,305,100,20);
add("center",txt1);
}
public void punto (ActionEvent e){
checkEquals ();
if (d.indexOf ('.') != -1)
return;
if (d.length () < word)
d = d + ".";
dis.setText(d);
}
private void checkEquals () {
if (equals == true) {
equals = false;
d = "0";
}
}
public void mostrar(ActionEvent e)
{
num2=Double.parseDouble(txt1.getText());
switch (ope)
{
case '+':
res=num1+num2;
break;
case '-':
res=num1-num2;
break;
case '*':
res=num1*num2;
break;
case '/':
res=num1/num2;
break;
case 'C':
repaint();
break;
case '.':
num2='.';
}
txt1.setText(String.valueOf(res));
}
public static void main (String args[])
{
prueba c=new prueba();
c.setVisible(true);
}
public void Numero(ActionEvent e)
{
Button boton=(Button)(e.getSource());
txt1.setText(txt1.getText()+boton.getLabel());
}
public void almacenar(ActionEvent e)
{
Button boton=(Button)(e.getSource());
ope=boton.getLabel().charAt(0);
num1=Double.parseDouble(txt1.getText());
txt1.setText("");
}
}