(Taschenrechner Netbeans) Komma nur einmal schreiben & 0 ersetzen

Lord.Djerun

Mitglied
Moin moin,

hätte direkt noch eine Frage:
Mir kommt mein Ergebnis was das überprüfen der Komma's & das ersetzen der 0 angeht relativ lang & wirr vor :bahnhof:

Java:
private void ZahlEingeben(java.awt.event.ActionEvent evt) {                              
        //Counter damit das Zwischenergebnis aus der Anzeige gelöscht wird
        if (ZwischenCounter > 1) {
            Ausgabe1.setText("");
            ZwischenCounter--;
        }

        //Wenn kein Komma vorkommt
        if (!Ausgabe1.getText().contains(",")) {

            //Überprüfen ob die Eingabe ein Komma ist
            if (evt.getActionCommand().equals(",")) {
                //Zeichen schreiben
                Ausgabe1.setText(Ausgabe1.getText() + evt.getActionCommand());
            }
            //Überprüfen ob die standardmäßig gesetzte 0 noch da ist.
            if (Ausgabe1.getText().equals("0")) {
                Ausgabe1.setText("");

                //Zahlen schreiben
                Ausgabe1.setText(Ausgabe1.getText() + evt.getActionCommand());
            }
            Counter = 0;
        } else {

            Ausgabe1.setText(Ausgabe1.getText() + evt.getActionCommand().replace(",", ""));
            Counter = 0;

        }


    }

Also prinzipiell funktionieren tut das ganze ja.
Nur gibt es da eine Möglichkeit das irgendwie übersichtlicher zu gestalten oder ist das so gut?

Unbenannt.PNG

Der ZwischenCounter steht für das Obere Feld, da dort nach jedem Rechenschritt das Ergebnis gezeigt werden soll & der Counter ist für die Rechenzeichen^^.

Gruß
Djerun

//EDIT Okey es funktioniert nicht so ganz.
Ich kann vor dem Komma nur eine Zahl eingeben Oo
Kann mir jemand erklären an was das liegen könnte? 😳
 
Zuletzt bearbeitet:
Okey das mit nur einer Zahl vor dem Komma hab ich bei genauerem Lesen meines Problem schon selber gefunden.
Er hat ja keine Anweisung wenn kein Komma drin ist, aber auch keine 0 vorkommt 😀

Java:
//Überprüfen ob die Eingabe ein Komma ist
     if (evt.getActionCommand().equals(",")) {
         //Zahlen schreiben
         Ausgabe1.setText(Ausgabe1.getText() + evt.getActionCommand());
     }
     //Überprüfen ob die Standdardmäßig gesetzte 0 noch da ist.
     else if(Ausgabe1.getText().equals("0")) {
         Ausgabe1.setText("");
         //Zahlen schreiben
         Ausgabe1.setText(Ausgabe1.getText() + evt.getActionCommand());
     } else {
         //Zahlen schreiben
        Ausgabe1.setText(Ausgabe1.getText() + evt.getActionCommand().replace(",", ""));
     }
 
Zuletzt bearbeitet:

Zurück
Oben