>Java >java지도 시간 >Java 스캐너로 잘못된 정수 입력을 어떻게 강력하게 처리할 수 있습니까?

Java 스캐너로 잘못된 정수 입력을 어떻게 강력하게 처리할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-13 13:48:15918검색

How Can I Robustly Handle Invalid Integer Input with Java's Scanner?

스캐너의 잘못된 입력 제한 극복

프로그램 견고성을 높이기 위해 사용자는 입력을 유효한 정수 값으로 제한하고 숫자가 아닌 항목을 처리하는 데 어려움을 겪습니다. 널리 사용되는 라이브러리인 Scanner는 이러한 장애물에 대한 솔루션을 제공합니다.

정수 입력 유효성 검사

Scanner는 다가오는 입력이 있는지 확인하는 hasNextInt() 메서드를 제공합니다. 정수로 해석될 수 있습니다. 이 메서드는 정적으로 유지되므로 입력을 넘어서 진행되지 않습니다.

구현 예

hasNextInt()를 통합하면 우아한 솔루션이 가능합니다.

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

예외적인 입력 처리

hasNextXXX 메소드는 정적으로 유지되므로 next()를 호출하여 유효하지 않은 입력에서 "쓰레기"를 삭제해야 합니다.

관련 질문

  • [스캐너에서 잘못된 입력으로 인해 예외가 발생하지 않도록 하려면 어떻게 해야 합니까? 유형?](https://java.stackexchange.com/questions/2600398/how-do-i-keep-a-scanner-from-throwing-Exceptions-when-the-wrong-type-is-entered)

위 내용은 Java 스캐너로 잘못된 정수 입력을 어떻게 강력하게 처리할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.