NoSuchElementException 从 Java.Util.Scanner

我是非常新的 Java, 但我在这本书上工作 Java: 如何编程 /9-是ed。/ 当我无法理解世界时,他们达到了这样的例子,问题是什么。

这里 /轻微地/ 教科书中源代码示例的其他版本:


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.NoSuchElementException
at 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

, 但我真的无法在输出观点方面进一步推进,问题是什么。
已邀请:

知食

赞同来自:

NoSuchElementException


由方法引起的
nextElement

枚举表示列表中没有更多元素。

http://docs.oracle.com/javase/ ... .html
这个怎么样 :


if/input.hasNextInt// /
number1 = input.nextInt//; // if there is another number
else
number1 = 0; // nothing added in the input

小明明

赞同来自:

你必须使用
hasNextInt//

在分配变量的值之前。

莫问

赞同来自:

NoSuchElementException

将被丢弃
http://docs.oracle.com/javase/ ... %2529
. 这是由呼叫引起的
nextInt//

没有检查
http://docs.oracle.com/javase/ ... %2529
. 要防止它,可以使用
hasNextInt//

, 检查是否可用任何其他标记。

风见雨下

赞同来自:

Integer#nextInt

抛出
NoSuchElementException

- 如果输入耗尽

您必须检查是否有以下行
Integer#hasNextLine



if/sc.hasNextLine///{
number1=sc.nextInt//;
}

八刀丁二

赞同来自:

你必须添加 input.close// 在最后...

卫东

赞同来自:

此错误基本上发生在 0nline IDE, 在哪里测试代码。 他没有正确配置,好像您在任何其他代码上启动相同的代码 IDE/记事本,它正常工作,因为 online IDE 没有以这样的方式设计它,即它调节格式的输入代码,因此您必须接收输入为支持 Online IDE.

要回复问题请先登录注册