> Java > java지도 시간 > `java.util.Scanner`를 사용하여 여러 정수를 읽을 때 `NoSuchElementException`을 방지하려면 어떻게 해야 합니까?

`java.util.Scanner`를 사용하여 여러 정수를 읽을 때 `NoSuchElementException`을 방지하려면 어떻게 해야 합니까?

Linda Hamilton
풀어 주다: 2024-12-02 02:12:09
원래의
637명이 탐색했습니다.

How Can I Prevent `NoSuchElementException` When Using `java.util.Scanner` to Read Multiple Integers?

Java.Util.Scanner의 NoSuchElementException

열거의 nextElement 메소드가 호출되고 더 이상 요소가 없을 때 NoSuchElementException이 발생합니다. 열거에서. 지정된 Java 코드에서 Scanner 클래스가 사용자 입력에서 두 번째 정수를 읽으려고 시도할 때 이 예외가 발생합니다.

제공한 소스 코드 조각은 사용자에게 두 정수를 입력하라는 메시지를 표시하고 그 합을 계산하기 위한 것입니다. . 그러나 사용자가 하나의 정수만 입력하여 스캐너에 nextInt() 메서드에 대한 유효한 입력이 없을 수도 있습니다.

이 문제를 해결하려면 스캐너에 다른 정수가 있는지 확인하는 검사를 통합할 수 있습니다. 읽기를 시도하기 전에 사용할 수 있는 정수입니다. 코드의 업데이트된 버전은 다음과 같습니다.

import java.util.Scanner;

public class Addition {
  public static void main(String[] args) {
    // creates a scanner to obtain input from a command window

    Scanner input = new Scanner(System.in);

    int number1; // first number to add
    int number2; // second number to add
    int sum; // sum of 1 & 2

    System.out.print("Enter First Integer: "); // prompt
    if (input.hasNextInt()) {
      number1 = input.nextInt();
    } else {
      // Handle the case where no number is entered
      number1 = 0;
    }

    System.out.print("Enter Second Integer: "); // prompt 2
    if (input.hasNextInt()) {
      number2 = input.nextInt();
    } else {
      // Handle the case where no number is entered
      number2 = 0;
    }

    sum = number1 + number2; // addition takes place, then stores the total of the two numbers in sum

    System.out.printf("Sum is %d\n", sum); // displays the sum on screen
  } // end method main
} // end class Addition
로그인 후 복사

이 업데이트된 코드에는 nextInt() 메서드를 사용하여 정수를 읽기 전에 사용자가 정수를 입력했는지 확인하는 추가 검사가 포함되어 있습니다. 이는 NoSuchElementException을 방지하는 데 도움이 되며 사용자가 유효하지 않거나 불완전한 입력을 제공하는 경우에도 프로그램이 예상대로 작동하도록 보장합니다.

위 내용은 `java.util.Scanner`를 사용하여 여러 정수를 읽을 때 `NoSuchElementException`을 방지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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