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 중국어 웹사이트의 기타 관련 기사를 참조하세요!