Ich stecke auf diesem Teil eines Programms fest, wo der Benutzer mehrere ganze Zahlen eingibt und nur die erste ausgewählt wird. In meinem aktuellen Code ist die Ausgabe das.Ignorieren/Löschen zusätzlicher ganzer Zahlen von Benutzereingabe
There are 10 sticks on the board.
Jerry: How many sticks do you take (1-3)? *1 3 4 2*
There are 9 sticks on the board.
Sherry: How many sticks do you take (1-3)? There are 6 sticks on the board.
Jerry: How many sticks do you take (1-3)? Please enter a number between 1 and 3.
Jerry: How many sticks do you take (1-3)? There are 4 sticks on the board.
Sherry: How many sticks do you take (1-3)?
Während im angegebenen Beispiel ist der Ausgang dies.
Jerry: How many sticks do you take (1-3)? *1 3 4 2*
There are 8 sticks on the board.
Pat: How many sticks do you take (1-3)? *3*
There are 5 sticks on the board.
Es scheint, dass die zusätzlichen ganzen Zahlen in der Warteschlange stehen und auf den nächsten Scanner-Eingabebefehl warten. In dem gegebenen Beispiel werden die Extra-Ganzzahlen gelöscht. Wie wird das gemacht? Gibt es einen Befehl, um alle aktuellen Benutzereingaben zu löschen, oder werden alle Ganzzahlen mit .hasNextInt eingelesen und werden alle anderen einfach weggeworfen? Auch, wo hat hasNextInt in der Eingabe? Wird der nächste hasNextInt-Befehl nach dem Ergebnis "true" oder "false" an derselben Eingabeposition angezeigt, wenn keine neue Eingabe hinzugefügt wurde?
(Der Text eingeschlossen von ** ist eine Benutzereingabe.)
Bitte geben Sie Ihren Code in die Frage ein. – fvu
Fügen Sie Ihren Code hinzu. Ich nehme an, Sie verwenden 'while (sc.hasNextInt()) {}' anstelle von 'if'. –