Hi,
ich möchte ein Textfeld haben in das ich zwei Zahlen eingeben kann mit denen ich dann eine Berechnung durch führen kann.
Also gebe ich zuerst meine "10" ein dann klicke ich auch den Button "+" der mir ein Plus in das Textfeld bring und dann will ich eine zweite Zahl eingeben "5" - nur soll mein Programm am Ende auch über den Button "Ergebnis" das Ergebnis ausgeben.
Die erste Zahl und das "+" kann ich ohne Probleme einlesen und ausgeben lassen, nur wie mach ich das mit der zweiten Zahl?
Das ganze soll nur in einem Textfeld stattfinden.
Code:
try
{
zahl1=Double.parseDouble(f.tfZahl1.getText().replace(',','.')); //hier lese ich die erste Zahl ein
if (obj==f.btnPlus)
{
c='+';
f.tfZahl1.setText(df.format(zahl1)+" "+c+" "); //hier füge ich je nach Button dann das "+" oder "-" hinzu
}
else
if (obj==f.btnMinus)
{
c='-';
f.tfZahl1.setText(df.format(zahl1)+" "+c+" "); //hier füge ich je nach Button dann das "+" oder "-" hinzu
}
}
catch(NumberFormatException error1)
{
f.tfZahl1.setText("Sie müssen zuerst eine Zahle eingeben! ");
}
lies das gesamte Textfeld nochmal ein, schneide alles vom String bis einschließlich des Rechenzeichens weg und wandel deinen String in int bzw Double um ... dann solltest du rechnen können ;-)
Ich meine es so in der Art wie mein Windows Taschenrechner.
Dort gibt man ja auch in nur ein Feld seine Zahlen ein, nur das ich eben noch in dem Feld auch mein "+" und "=" Zeichen haben möchte.
Ich meine es so in der Art wie mein Windows Taschenrechner.
Dort gibt man ja auch in nur ein Feld seine Zahlen ein, nur das ich eben noch in dem Feld auch mein "+" und "=" Zeichen haben möchte.
lies das gesamte Textfeld nochmal ein, schneide alles vom String bis einschließlich des Rechenzeichens weg und wandel deinen String in int bzw Double um ... dann solltest du rechnen können ;-)
Wenn ich diese Zeile noch einmal einfüge, nachdem ich den Button betätigt habe, nur mit "zahl2" vorne funktioniert das irgendwie nicht.
Wenn ich das mit einem String mache muss ich ja die länge haben, da dachte ich mir das ich einmal die länge von der ersten Eingabe bestimme und dann die länge die das " + " Zeichen hat dazu addiere und dann nachdem die zweite Zahl eingegeben wurde die gesamten länge von der zuvor gemessenen länge abziehe.
Also Gesamt - (erste Zahl + Pluszeichen).
Das habe ich mal ausprobiert, da ich dachte das ich so auch evtl. meine zweite Zahl bekomme aber das geht nicht.
Code:
try
{
str=(f.tfZahl1.getText().replace(',','.'));
eLaenge=str.length();
zahl1=Double.parseDouble(str);
if (obj==f.btnPlus)
{
c='+';
f.tfZahl1.setText(df.format(zahl1)+" "+c+" ");
str=(f.tfZahl1.getText());
eKleiner=str.length();
eErgebnis=eKleiner-(eLaenge+3);
}
if (obj==f.btnErgebnis)
{
ergebnis=zahl1+eErgebnis; //hier habe ich jetzt einfach mal ne Plusrechnung gemacht da mit ich evtl mein Ergebnis bekommen was natürlich wenn alles funktioniert wo anders gemacht wird
f.tfZahl1.setText(df.format(zahl1)+" "+c+" "+df.format(eErgebnis)+" = "+ergebnis);
}
}
catch(NumberFormatException error1)
{
f.tfZahl1.setText("Sie müssen zuerst eine Zahle eingeben! ");
}