> Java > java지도 시간 > Java의 `Scanner`를 사용할 때 `NoSuchElementException`을 방지하는 방법은 무엇입니까?

Java의 `Scanner`를 사용할 때 `NoSuchElementException`을 방지하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-04 22:59:12
원래의
640명이 탐색했습니다.

How to Avoid `NoSuchElementException` When Using Java's `Scanner`?

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

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