首頁 >Java >java教程 >使用Java的'Scanner”時如何避免'NoSuchElementException”?

使用Java的'Scanner”時如何避免'NoSuchElementException”?

Patricia Arquette
Patricia Arquette原創
2024-12-04 22:59:12668瀏覽

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);
  }
}

如果使用者只輸入一個整數並在輸入其次,它會拋出一個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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn