为什么线程“main”java.util.NoSuchElementException中存在异常?

时间:2014-04-23 17:09:18

标签: java exception input

这是我的代码:

import java.util.Scanner;

public class Distribution{

     public static void main(String []args){
        System.out.println("How many cards to be distributed? ");
        Scanner keyboard = new Scanner(System.in);
        int cards = keyboard.nextInt();
     }
}

当我运行它时,它在线程main中给出了一个例外:

java.util.NoSuchElementException

为什么会发生这种情况,我该如何解决?

1 个答案:

答案 0 :(得分:6)

您应首先致电hasNextInt()

public static void main(String []args){
    System.out.println("How many cards to be distributed? ");
    Scanner keyboard = new Scanner(System.in);
    if (keyboard.hasNextInt()) {
        int cards = keyboard.nextInt();
        // ...
    }
 }

当我尝试使用您的compileonline链接时,它也有效: Working code

修改

实际答案是在" STDIN"中指定输入。在线工具上的输入行。您发布的代码在您执行时(如第二张图片所示)

Working code 2