C
CrossOver
Gast
hi leute,
ich muss für die schule einen taschenrechner programmieren.
Bis jetzt habe ich schon die vollständige GUI, mit einem textField und den Buttons.
Die Schwierigkeit besteht aber darin, dass es buttons für "(" und ")" gibt!
Ich dachte, ich könnte einem double den wert, der im textField eingegeben wurde (z.B.: 54*(2+2)-100 ), parsen und zuweisen.
Anschließend sollte double die aufgabe lösen und ich könnte den wert dann im textField wieder ausgeben, doch das funktioniert nicht wirklich!
Kann mir wer helfen?
ich muss für die schule einen taschenrechner programmieren.
Bis jetzt habe ich schon die vollständige GUI, mit einem textField und den Buttons.
Code:
public void actionPerformed(ActionEvent e)
{
if (e.getActionCommand().equals("b0"))
{
String a = textField.getText();
textField.setText(a + ("0"));
}
if (e.getActionCommand().equals("b1"))
{
String a = textField.getText();
textField.setText(a + ("1"));
}
if (e.getActionCommand().equals("b2"))
{
String a = textField.getText();
textField.setText(a + ("2"));
}
if (e.getActionCommand().equals("b3"))
{
String a = textField.getText();
textField.setText(a + ("3"));
}
if (e.getActionCommand().equals("b4"))
{
String a = textField.getText();
textField.setText(a + ("4"));
}
if (e.getActionCommand().equals("b5"))
{
String a = textField.getText();
textField.setText(a + ("5"));
}
if (e.getActionCommand().equals("b6"))
{
String a = textField.getText();
textField.setText(a + ("6"));
}
if (e.getActionCommand().equals("b7"))
{
String a = textField.getText();
textField.setText(a + ("7"));
}
if (e.getActionCommand().equals("b8"))
{
String a = textField.getText();
textField.setText(a + ("8"));
}
if (e.getActionCommand().equals("b9"))
{
String a = textField.getText();
textField.setText(a + ("9"));
}
if (e.getActionCommand().equals("plus"))
{
String a = textField.getText();
textField.setText(a + ("+"));
}
if (e.getActionCommand().equals("minus"))
{
String a = textField.getText();
textField.setText(a + ("-"));
}
if (e.getActionCommand().equals("mal"))
{
String a = textField.getText();
textField.setText(a + ("*"));
}
if (e.getActionCommand().equals("geteilt"))
{
String a = textField.getText();
textField.setText(a + ("/"));
}
if (e.getActionCommand().equals("letzteZeichenLöschen"))
{
String a = textField.getText();
String b = "";
char c;
for (int i = 0; i < (a.length() - 1); i++)
{
c = a.charAt(i);
b = b + "" + String.valueOf(c);
}
textField.setText(b);
}
if (e.getActionCommand().equals("löschen"))
{
textField.setText("");
}
if (e.getActionCommand().equals("kauf"))
{
String a = textField.getText();
textField.setText(a + ("("));
}
if (e.getActionCommand().equals("kzu"))
{
String a = textField.getText();
textField.setText(a + (")"));
}
if (e.getActionCommand().equals("punkt"))
{
String a = textField.getText();
textField.setText(a + ("."));
}
[b]if (e.getActionCommand().equals("ergebnis"))
{
double d = Double.parseDouble(textField.getText());
textField.setText(d);
}[/b]
}
Die Schwierigkeit besteht aber darin, dass es buttons für "(" und ")" gibt!
Ich dachte, ich könnte einem double den wert, der im textField eingegeben wurde (z.B.: 54*(2+2)-100 ), parsen und zuweisen.
Anschließend sollte double die aufgabe lösen und ich könnte den wert dann im textField wieder ausgeben, doch das funktioniert nicht wirklich!
Kann mir wer helfen?