Beenden Sie eine While-Schleife, wenn der Benutzer tippt BEENDEN
Schreibe ich eine Rechtschreibprüfung Programm, wird der Benutzer aufgefordert, für ein Wort, und werde es vergleichen, um eine Liste der Wörter in einem array, die ich gemacht habe.
Dieses Programm nie enden, bis der Benutzer die Typen quit
.
Also meine Frage ist, was würde ich while(>> here <<)
würde das Programm beenden, sobald der Benutzer eingibt quit
anstatt ein weiteres Wort. Das Wort quit
ist nicht im array.
Hier ist mein code für die while-Schleife so weit (noch nicht fertig, aber es nervt mich, wenn ich dies testen und die Schleife endet nicht beim beenden, so dass ist, was ich brauche zum ersten mal getan).
String quit = "quit";
//this is only declared as "quit" to get the loop to run for testing
while(quit.equals("quit")) {
System.out.println("Please every a word or QUIT to exit");
String guess = input.nextLine();
for(int i = 0; i < words.length; i++) {
if(guess.equals(words[i])) {
System.out.println("That word is spelled correctly.");
}
else {
System.out.println("That word is not spelled correctly.");
System.out.println("Would you like to add it to the dictionary? (Y/N)");
}
}
}
Wenn Sie schlagen einen anderen Weg, es zu tun, das ist nicht eine while-Schleife, obwohl ich es zu schätzen, es muss eine while-Schleife für schulische Zwecke.
- Sie sagen, geben Sie
QUIT
, aberequals()
nicht ignorieren, Fall. Auch, wenn Sie möchten, dass die Schleife ausgeführt wird, bis jemand die Typen beenden, würden Sie wahrscheinlich wollen eine!
im Zustand statt... - Verwenden Sie eine
do-while
Schleife und überprüfen Sie, dass dievalue
ist nicht gleichquite
...do {...} while (!guess.equalsIgnoreCase("quit"));
Du musst angemeldet sein, um einen Kommentar abzugeben.
Deine Bedingung ist immer wahr. Wenn Sie wollen, reagieren auf eine Benutzer Eingabe in
"quit"
während der Eingabe einer neuen Vermutung, die Sie tun können, es mit einer endlos-Schleife und einebreak
wie diese:equalsIgnoreCase
wäre in der Tat besser sein.Ihre Schleife, während Sie weitermachen, bis Sie Sie ändern Ihren Text verlassen, um etwas anderes als "beenden". Hier ist ein Beispiel:
Wenn Sie beenden müssen rechts nach dem Eingang, und Sie müssen eine
while
Zustand, um es zu lösen, dann Ihre Eingaben werden an das Ende der Schleife, so dass die Bedingung überprüft direkt nach der Eingabe wird eingegeben. Sie können das auch so:Verwenden Sie die unten Zustand :
Verwenden Sie Do-While-Schleife anstelle einer einfachen While-Schleife.
Der code sieht so aus:
Meine falsch ist, wird es besser funktionieren mit "!="
"beenden.compareTo(guess)!=0" in Ihr, während
equals
.