Pessoal,
Fiz uma calc, só que está com um problema…está executando apenas uma função por vez…exemplo:
Se fizer 3 + 3 = vai me devolver 6, se fizer + 2 = me devolve 8, se fizer / 2, me devolve 4.
Mas se fizer 3 + 3 + 2 + 1 = me devolve 6, executa somente a primeira operação.
Aí segue o código para darem uma olhada…espero que possam me ajudar.
public void actionPerformed(ActionEvent e){
Object obj=e.getSource();
if (obj == btpoint) {
if (vlr1 == 0){
display.setText("0.");
}
else if (((display.getText()).indexOf(".")) == -1){
display.setText(display.getText()+".");
}
}
if(obj==bt0){
display.setText(display.getText()+"0");
}
else if(obj==bt1){
display.setText(display.getText()+"1");
}
else if(obj==bt2){
display.setText(display.getText()+"2");
}
else if(obj==bt3){
display.setText(display.getText()+"3");
}
else if(obj==bt4){
display.setText(display.getText()+"4");
}
else if(obj==bt5){
display.setText(display.getText()+"5");
}
else if(obj==bt6){
display.setText(display.getText()+"6");
}
else if(obj==bt7){
display.setText(display.getText()+"7");
}
else if(obj==bt8){
display.setText(display.getText()+"8");
}
else if(obj==bt9){
display.setText(display.getText()+"9");
}
else if(obj==btlimpa){
display.setText(null);
}
else if(obj==btadi){
aux=1;
vlr1=Double.parseDouble(display.getText());
display.setText(null);
}
else if(obj==btsub){
aux=2;
vlr1=Double.parseDouble(display.getText());
display.setText(null);
}
else if(obj==btmul){
aux=3;
vlr1=Double.parseDouble(display.getText());
display.setText(null);
}
else if(obj==btdiv){
aux=4;
vlr1=Double.parseDouble(display.getText());
display.setText(null);
}
else if (obj == btraiz){
vlr1=Double.parseDouble(display.getText());
resultado = Math.sqrt(vlr1);
display.setText(""+resultado);
}
else if (obj == btsignal){
vlr1=Double.parseDouble(display.getText())*(-1);
display.setText(Double.toString(vlr1));
aux=5;
}
else if (obj == btinv){
vlr1=Double.parseDouble(display.getText());
vlr1 = 1/vlr1;
display.setText(Double.toString(vlr1));
}
else if(obj==btigual){
display.setText(""+resultado);
}
switch(aux){
case 1:
vlr2=Double.parseDouble(display.getText());
resultado=vlr1+vlr2;
break;
case 2:
vlr2=Double.parseDouble(display.getText());
resultado=vlr1-vlr2;
break;
case 3:
vlr2=Double.parseDouble(display.getText());
resultado=vlr1*vlr2;
break;
case 4:
vlr2=Double.parseDouble(display.getText());
resultado=vlr1/vlr2;
break;
}
}