스캐너를 사용하여 잘못된 입력을 처리하는 방법
스캐너를 사용하여 사용자 입력을 수행하는 동안 숫자가 아닌 문자와 같은 잘못된 입력을 처리하는 것은 프로그램 견고성에 매우 중요합니다. 이 문제를 해결하기 위한 솔루션을 살펴보겠습니다.
다음 코드 조각을 고려하세요.
Scanner kb = new Scanner(System.in); int num1; int num2 = 0; System.out.print("Enter number 1: "); num1 = kb.nextInt(); while (num2 < num1) { System.out.print("Enter number 2: "); num2 = kb.nextInt(); }
이 코드는 사용자로부터 두 개의 정수를 얻어 두 번째 숫자(num2)가 다음과 같도록 하는 것을 목표로 합니다. 첫 번째(num1)보다 큽니다. 그러나 두 가지 제한 사항이 있습니다.
이러한 문제를 해결하기 위해 다음을 활용할 수 있습니다. Scanner.hasNextInt() 메서드는 입력의 다음 토큰이 정수로 해석될 수 있는지 결정합니다.
다음 코드 조각에는 이러한 개선 사항이 포함되어 있습니다.
Scanner sc = new Scanner(System.in); System.out.print("Enter number 1: "); while (!sc.hasNextInt()) sc.next(); int num1 = sc.nextInt(); int num2; System.out.print("Enter number 2: "); do { while (!sc.hasNextInt()) sc.next(); num2 = sc.nextInt(); } while (num2 < num1); System.out.println(num1 + " " + num2);
유효한 토큰인지 확인하여 hasNextInt()를 사용하여 입력하고 유효하지 않은 문자를 무시하면 프로그램은 숫자가 아닌 입력을 정상적으로 처리합니다. 또한 do-while 루프는 두 번째 숫자가 첫 번째 숫자보다 큰지 확인하여 유효한 입력을 얻은 후에 루프가 계속되는 것을 방지합니다.
위 내용은 Java 스캐너로 잘못된 정수 입력을 적절하게 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!