Drucken einer Anweisung nur einmal in eine while-Schleife
Dies ist wahrscheinlich sehr einfach, aber ich habe völlig ausgeblendet, und würden uns freuen, einige Hinweise. Ich bin momentan dabei ein kleines Spiel, das wir zugewiesen wurden, wo wir zahlen auswählen und anschließend eine Ziel-Zahl zu versuchen und erreichen über die Nummern, die wir ausgewählt haben. Innerhalb meiner while-Schleife einmal mein Zustand hat 6 es fragt den Benutzer, zu erzeugen, die Ziel-Zahl, aber sobald Sie tun, es gibt den gleichen string wieder "Generieren" die Letzte saite" wie kann ich drucken Sie diese nur einmal?
Hier ist der code, falls es hilft.
while (lettersSelected == false) {
if (finalNum.size() == 6) {
System.out.println("3. Press 3 to generate target number!");
} //Only want to print this part once so it does not appear again.
Scanner input = new Scanner(System.in);
choice = input.nextInt();
switch (choice) {
case 1:
if (finalNum.size() != 6) {
largeNum = large.get(r.nextInt(large.size()));
finalNum.add(largeNum);
largeCount++;
System.out.println("Numbers board: " + finalNum + "\n");
}
break;
- Kann man nicht einfach legen Sie es vor, während, außerhalb des Zyklus?
- Vielleicht bin ich Missverständnis, etwas, aber nicht warum deklarieren Sie eine Boolesche vor dem, während mit false-Wert, überprüfen Sie es in Ihrem ob und setzen Sie ihn auf true, wenn Sie mit der Eingabe der if-Anweisung?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es kann sehr einfach durchgeführt werden.
Den Zustand
if (finalNum.size() == 6)
erfüllt und so die Zeichenfolge gedruckt wird. Jedoch, während der nächsten iteration deswhile
Schleife, die Größe derfinalNum
hat sich nicht geändert, da das Gegenteil der Bedingung überprüft wird, in dercase 1
des Schalters und die Größe nicht geändert wird irgendwo zwischen diesen beiden Aussagen.Können Sie hinzufügen einer flag-variable, und legen Sie es auf
true
fügen Sie einen Scheck für die variable in derif
contidion und wenn dieif-clause
eingegeben wird, legen Sie die variablefalse
: