Java Programm mit Eingabe einer "0" beenden?
Hallo,
ich komm nicht drauf wie ich ein Programm mit der Eingabe einer "0" beenden kann. Mein Programm besteht aus einer einzigen großen do while Schleife.
Man soll die "0" Eingeben, wenn man mit dem Programm durch ist und aus der Schleife will.
LG
3 Antworten
In deinem Code wird ständig abgefragt, ob i immer noch 0 ist und wenn es so ist wird das Programm wiederholt. Wenn du einfach in deinem Programm abfragst, ob deine Taste gedrückt wurde und dann i auf einen anderen Wert setzt, sollte die Schleife nicht wiederholt werden und dein Programm geht normal zu Ende.
- Zeichen einlesen
- Prüfen, ob es "0" ist
- Die Schleife unterbrechen
Wo genau hakt es denn?
while (true) //unendliche schleife { /* bla bla bla */ if (input == "0") break; //verlässt die schleife }
Wahrscheinlich geht es PerfectMuffin darum, dass Marvin2k0 hier einen String mit == auf Gleichheit prüft. In bestimmten und trivialen Fällen kann das sogar gut gehen (Wenn der gleiche String aus dem Stringpool genommen wird, da dieser gleich ist), aber in Java verwendet man die .equals() Methode um Objekte auf Gleichheit zu prüfen. (alternativ kann man auch compareTo() verwenden, das prüft halt zusätzlich auf größer xoder kleiner und gibt dann aber ein int statt boolean zurück)
Hab hier mal mein Quelltext reinkopiert https://github.com/Ic3head/code/issues/1