> Java > java지도 시간 > 본문

Scanner의 nextInt()를 사용할 때 NoSuchElementException이 발생하는 이유는 무엇입니까?

DDD
풀어 주다: 2024-11-16 06:26:03
원래의
348명이 탐색했습니다.

Why Am I Getting a NoSuchElementException When Using Scanner's nextInt()?

Scanner의 nextInt() 사고: NoSuchElementException 이해

Scanner의 nextInt() 메서드를 사용하여 정수를 검색하려고 하면 다음과 같은 문제가 발생할 수 있습니다. 두려운 오류: NoSuchElementException. 이는 입력 스트림에서 검색할 수 있는 정수가 더 이상 없을 때 발생합니다.

범인을 찾아내기 위해 코드 조각을 면밀히 조사합니다.

Scanner s = new Scanner(System.in);
int choice = s.nextInt(); // Error occurs here
s.close();
로그인 후 복사

nextInt() 메서드는 다음을 가정합니다. 정수가 읽기를 기다리고 있지만 우리의 경우에는 정수가 하나도 없을 수도 있습니다. 이 오류를 방지하기 위해 Scanner에서 제공하는 hasNextXXXX() 메서드를 활용할 수 있습니다. 이러한 방법은 적절한 데이터 유형의 가용성을 확인하여 입력을 검색할 준비가 되었는지 확인합니다.

이 특정 시나리오에서는 hasNextInt()를 사용하여 문제를 해결할 수 있습니다.

Scanner s = new Scanner(System.in);
int choice = 0;

if (s.hasNextInt()) {
    choice = s.nextInt();
}

s.close();
로그인 후 복사

hasNextInt() 검사는 nextInt()를 사용하여 정수를 검색하기 전에 정수가 존재하는지 확인합니다. 이렇게 하면 NoSuchElementException이 발생할 가능성이 제거됩니다.

따라서 Scanner의 nextInt() 메서드를 처리할 때 항상 hasNextInt()를 활용하여 정수가 사용되기를 기다리고 있음을 기억하세요.

위 내용은 Scanner의 nextInt()를 사용할 때 NoSuchElementException이 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿