Ich möchte abfragen mit if ( antwort.equals("")) {
break;
}
Wenn ein NICHTS eingegeben wird, soll er abbrechen. Das tut er mir aber nicht!?
Ich möchte abfragen mit if ( antwort.equals("")) {
break;
}
Wenn ein NICHTS eingegeben wird, soll er abbrechen. Das tut er mir aber nicht!?
Naja das break würde in diesem Fall eher nur das if beenden ... in dem aber ehh nix drinnen steht.
Wenn du das ganze Programm beenden willst (und das auf paste-it.net nicht alles ist) musst es mit einer Exception machen.
Aber wenn es so ist wie auf dem Link kommt nach dem if ehh nichtsmehr (außer diversen weiteren if-else) und daher beendet sich das Programm danach ehh.
lg
Das Programm beendet sich leider nie!?
Wenn ich nichts eingebe, dann geht er mir immer nur eine Zeile weiter runter.. und wenn ich dann wieder einen Namen eingebe, kommt halt wieder die Namensausgabe...
Naja das break würde in diesem Fall eher nur das if beenden ... in dem aber ehh nix drinnen steht.
Nee das stimmt schon so. break beendet keine Bedingungen sondern nur Schleifen: http://java.sun.com/docs/books/tut…lts/branch.html ;
Zitat von Krackmoe
Wenn ein NICHTS eingegeben wird, soll er abbrechen. Das tut er mir aber nicht!?
Wie bitte gibt man denn ein NICHTS ein? :wave: Wenn Du RETURN drueckst, dann gibst Du ja zumindest mal einen Zeilenumbruch ein.
Horrendus: Hehe.. jeder deiner 3 Sätze ist falsch
Krackmoe:
Schau mal hier (ist übrigens immer ein guter Ort zum Nachlesen ): "A Scanner breaks its input into tokens using a delimiter pattern, which by default matches whitespace."
Der Scanner macht für deinen Zweck etwas zu viel, du willst ja eigentlich wirklich nur das Klump einlesen. Was du brauchst ist eher etwas in der Art:
zu der Erkennung von "nichts" ist glaub ich eh schon genug gesagt worden. Ich könnte empfehlen, die whitespaces zu trimmen, und zwar mit trim(). Wenn Du tatsächlich die gesamte methode abbrechen möchtest, die ja void ist, musst Du das break, gegen return austauschen. Außerdem würde ich davor zur Sicherheit noch auf null checken, also
http://paste-it.net/4981
if ( antwort.equals("")) {
break;
}
[fl]Quel`Tos hat schon auf die java API von Scanner veriwesen.
die Scanner klasse bietet netterweise eine instanzmethode die boolean ist und sich "hasNext()" nennt. solange noch eine eingabe kommt (sprich: kein EOF gesendet wird) gibt die methode true zurück. eignet sich daher recht gut als bedingung für eine while schleife.
maciek das überprüfen auf null kann man elegant umgehen, indem man das ganze so schreibt:
maciek das überprüfen auf null kann man elegant umgehen, indem man das ganze so schreibt:
das stimmt, allerdings ist da die Möglichkeit des " ", die ich mit trim() abfangen würde nicht berücksichtigt ...
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!