Um die Robustheit des Programms zu verbessern, stehen Benutzer vor der Herausforderung, die Eingabe auf gültige Ganzzahlwerte zu beschränken und nicht numerische Eingaben zu verarbeiten. Eine beliebte Bibliothek, Scanner, bietet eine Lösung für diese Hürden.
Scanner stellt die Methode hasNextInt() bereit, die überprüft, ob die Eingabe ansteht kann als ganze Zahl interpretiert werden. Diese Methode bleibt statisch, was bedeutet, dass sie nicht über eine Eingabe hinausgeht.
Die Einbindung von hasNextInt() ermöglicht eine elegante Lösung:
Scanner sc = new Scanner(System.in); System.out.print("Enter number 1: "); while (!sc.hasNextInt()) sc.next(); // Skips non-numeric input int num1 = sc.nextInt(); int num2; System.out.print("Enter number 2: "); do { while (!sc.hasNextInt()) sc.next(); // Skips non-numeric input num2 = sc.nextInt(); } while (num2 < num1); // Enforces num2 being greater than num1
Da hasNextXXX-Methoden statisch bleiben, ist es notwendig, next() aufzurufen, um jeglichen „Müll“ aus ungültigen Eingaben zu verwerfen.
Das obige ist der detaillierte Inhalt vonWie kann ich ungültige Ganzzahleingaben mit dem Java-Scanner zuverlässig verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!