首頁 >Java >java教程 >使用'java.util.Scanner”讀取多個整數時如何防止'NoSuchElementException”?

使用'java.util.Scanner”讀取多個整數時如何防止'NoSuchElementException”?

Linda Hamilton
Linda Hamilton原創
2024-12-02 02:12:09641瀏覽

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

NoSuchElementException with Java.Util.Scanner

當呼叫枚舉的nextElement 方法並且沒有更多元素時,拋出NouchElementException在SuchElementException舉中。在給定的 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中文網其他相關文章!

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