Java에서 NoSuchElementException 디버깅
Java의 Scanner 클래스를 사용하는 동안 "NoSuchElementException"이 발생하는 경우 이는 제공된 입력과 수업의 기대. 스캐너가 값을 검색하려고 시도했지만 값이 없으면 오류가 발생합니다.
다음 코드 조각을 고려하십시오.
import java.util.Scanner; public class Addition { public static void main(String[] args) { Scanner input = new Scanner(System.in); int number1, number2, sum; System.out.print("Enter First Integer: "); number1 = input.nextInt(); System.out.print("Enter Second Integer: "); number2 = input.nextInt(); sum = number1 + number2; System.out.printf("Sum is %d\n", sum); } }
사용자가 정수를 하나만 입력하고 값을 입력하기 전에 Enter 키를 누르면 둘째, 그것은 던질 것입니다 NoSuchElementException.
해결 방법
이 문제를 해결하려면 읽기 전에 다른 정수가 있는지 확인하세요. 코드의 수정된 버전은 다음과 같습니다.
if (input.hasNextInt()) { number1 = input.nextInt(); } else { // Handle input error or set number1 to a default value }
이 검사를 통합하여 코드는 정수가 사용 가능한 경우에만 정수를 읽도록 보장하여 예외를 방지합니다.
대안 Option
또 다른 접근 방식은 hasNextLine() 메서드를 사용하여 추가 항목이 있는지 확인하는 것입니다. 입력한 다음 다른 정수를 검색하기 전에 nextLine()을 호출하여 버퍼를 지웁니다.
위 내용은 Java의 `Scanner`를 사용할 때 `NoSuchElementException`을 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!