Kann if-Anweisungen verschachtelt werden in einer while-Schleife?
Ich arbeite mit code, verwendet man eine do-while-Schleife, und ich wollte fügen Sie eine if-else-Anweisung in die Schleife. Die do-while-Schleife prüft, um zu sehen, was text, den der Benutzer eingibt und fertig, wenn das Wort 'exit' eingegeben wird.
public static void main(String[] args) {
String endProgram = "exit";
String userInput;
java.util.Scanner input = new java.util.Scanner(System.in);
do {
userInput = input.nextLine();
if ( !userInput.equalsIgnoreCase(endProgram) ) {
System.out.printf("You entered the following: %s", userInput);
} else
} while ( !userInput.equalsIgnoreCase(endProgram) );
}
Wenn ich versuche, um diesen code zu kompilieren, bekomme ich eine Fehlermeldung von der Eingabeaufforderung aus zu sagen:
SentinelExample.java:20: error: illegal start of expression
} while ( !userInput.equalsIgnoreCase(endProgram) );
^
SentinelExample.java:22: error: while expected
}
^
SentinelExample.java:24: error: reached end of file while parsing
}
^
Wenn ich entfernen Sie die if-else-Anweisung in der Schleife wird das Programm kompiliert einwandfrei. Gibt es etwas falsch mit der syntax in meinem Programm? Oder ist es nicht möglich, eine if-else-Anweisung in eine while-Schleife?
- Ich sehe nicht ein, warum nicht.
- Kann if-Anweisungen verschachtelt werden in einer while-Schleife? ja
- Sie haben ein nutzloses else-Schlüsselwort gibt
- Hey, vielen Dank für die Hilfe an alle. Wollte nur wissen, warum meine Frage bekommen gewählt?
- nichts für ungut, aber manchmal Fragen, die sind sehr einfach get downvoted, in der Regel versuche ich upvote eine Frage, die ich beantworten
- Okay, hey keine genommen. Ich bin neu in diesem
Du musst angemeldet sein, um einen Kommentar abzugeben.
Überprüfen Sie Ihren code hier fehlen Ihnen
else
block:Dies ist der Grund für die Kompilierung Fehler. Sie können dieses Problem beheben, indem entweder das entfernen der
else
insgesamt oder, falls Sie etwas hinzufügen möchten dann machen Sie Folgendes:Und Ihre Fragen zu beantworten, ja es ist vollkommen gültig, um nest
if
Aussagen in einemwhile
Schleife.Ihnen fehlt
{}
zu schließen, wird der else-block. Stattverwenden
Dass Sie wegen Ihrer else-Anweisung, die nichts tut, sondern machen den complier denke, dass die while-Bedingung ist, unter der else-Bedingung und das falsch.
Entfernen Sie es einfach
Seine durchaus möglich:
warum funktioniert das nicht richtig, es zeigt nur die 0, mit auch !