Heim >Java >javaLernprogramm >Wie kann ich „NoSuchElementException' verhindern, wenn ich „java.util.Scanner' zum Lesen mehrerer Ganzzahlen verwende?
NoSuchElementException mit Java.Util.Scanner
Die NoSuchElementException wird geworfen, wenn die nextElement-Methode einer Aufzählung aufgerufen wird und keine Elemente mehr vorhanden sind in der Aufzählung. Im angegebenen Java-Code tritt diese Ausnahme auf, wenn die Scanner-Klasse versucht, die zweite Ganzzahl aus der Benutzereingabe zu lesen.
Das von Ihnen bereitgestellte Quellcode-Snippet soll den Benutzer zur Eingabe zweier Ganzzahlen auffordern und deren Summe berechnen . Es ist jedoch möglich, dass der Benutzer nur eine Ganzzahl eingegeben hat, sodass der Scanner keine gültige Eingabe für die nextInt()-Methode hat.
Um dieses Problem zu beheben, können Sie eine Prüfung integrieren, um festzustellen, ob der Scanner über eine andere verfügt Ganzzahl verfügbar, bevor versucht wird, sie zu lesen. Hier ist eine aktualisierte Version des Codes:
import java.util.Scanner; public class Addition { public static void main(String[] args) { // creates a scanner to obtain input from a command window Scanner input = new Scanner(System.in); int number1; // first number to add int number2; // second number to add int sum; // sum of 1 & 2 System.out.print("Enter First Integer: "); // prompt if (input.hasNextInt()) { number1 = input.nextInt(); } else { // Handle the case where no number is entered number1 = 0; } System.out.print("Enter Second Integer: "); // prompt 2 if (input.hasNextInt()) { number2 = input.nextInt(); } else { // Handle the case where no number is entered number2 = 0; } sum = number1 + number2; // addition takes place, then stores the total of the two numbers in sum System.out.printf("Sum is %d\n", sum); // displays the sum on screen } // end method main } // end class Addition
Dieser aktualisierte Code enthält zusätzliche Prüfungen, um zu überprüfen, ob der Benutzer eine Ganzzahl eingegeben hat, bevor er sie mit der Methode nextInt() liest. Dies hilft, die NoSuchElementException zu vermeiden und stellt sicher, dass sich das Programm wie erwartet verhält, auch wenn der Benutzer ungültige oder unvollständige Eingaben macht.
Das obige ist der detaillierte Inhalt vonWie kann ich „NoSuchElementException' verhindern, wenn ich „java.util.Scanner' zum Lesen mehrerer Ganzzahlen verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!