Java.Utils.caner中的NoSuchElementException异常

Java.Utils.caner中的NoSuchElementException异常

我对Java非常陌生,但我正在阅读“Java:如何编程”(第9版)一书。已经达到了一个例子,在我的生活中,我无法弄清楚问题出在哪里。

下面是教科书中源代码示例的(稍微)扩展版本:

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
    number1 = input.nextInt(); // reads first number inputted by user

    System.out.print("Enter Second Integer: "); // prompt 2 
    number2 = input.nextInt(); // reads second number from user

    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

我得到了‘NoSuchElementException’错误:

Exception in thread "main" java.util.NoSuchElementExceptionat java.util.Scanner.throwFor(Scanner.java:838)
at java.util.Scanner.next(Scanner.java:1461)at java.util.Scanner.nextInt(Scanner.java:2091)
at java.util.Scanner.nextInt(Scanner.java:2050)at Addition.main(Addition.java:16)Enter First Integer:

据我所知,这可能是由于源代码中的某些内容与Scanner来自java.util但我真的无法进一步推断出问题所在。


MM们
浏览 701回答 3
3回答

HUWWW

你应该用hasNextInt()在将值赋值给变量之前。

qq_花开花谢_0

NoSuchElementException将被抛出如果没有更多的令牌可用..这是由调用nextInt()不检查如果有任何可用的整数..为了防止这种情况发生,您可以考虑使用hasNextInt()检查是否有更多的令牌可用。
打开App,查看更多内容
随时随地看视频慕课网APP