Foros del Web » Programación para mayores de 30 ;) » Java »

Consulta calculator

Estas en el tema de Consulta calculator en el foro de Java en Foros del Web. Hola chicos,, que tal Quisiera que mi calculadora hiciera lo siguiente 4+5-6*3 que cuando yo presionara 4+5 y luego presiona el signo de "-" me ...
  #1 (permalink)  
Antiguo 03/10/2006, 19:37
 
Fecha de Ingreso: octubre-2005
Mensajes: 17
Antigüedad: 18 años, 6 meses
Puntos: 0
Consulta calculator

Hola chicos,, que tal

Quisiera que mi calculadora hiciera lo siguiente
4+5-6*3

que cuando yo presionara 4+5 y luego presiona el signo de "-" me muestre el resultado de 4+5 y a eso se le reste el 6 ,,,

como si fuese las calculadoras normales de mano,,
ojala puedan asesorarme,,


saludos










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=0;
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[i]=new Button(String.valueOf(+i));
bn[i].addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Numero(e);
}
});
add(bn[i]);
}
for (i=0;i<bn2.length;i++)
{
bn2[i]=new Button();
switch(i)
{
case 0:

bn2[i].setLabel("+");
break;
case 1:
bn2[i].setLabel("*");
break;
case 2:
bn2[i].setLabel("-");
break;
case 3:
bn2[i].setLabel("/");
break;
case 4:
bn2[i].setLabel("C");
break;

}
bn2[i].addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
almacenar(e);


}
});
add(bn2[i]);

}
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("");
}


}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:30.