Java扫描程序问题 - “没有这样的元素异常”

时间:2013-09-10 14:38:13

标签: java exception nosuchelementexception

我在java中用scan对象读过很多关于这个问题的内容。但我尝试了一些解决方案,没有人给我一个很好的结果。

这是交易,我有这样的事情:

Scanner scan = new Scanner(System.in);
while (!(boolean)) {
    System.out.Println("Please give a char :");
    char c = scan.next().charAt(0);
    [...]
}
scan.close();

这会返回一个异常,但我没有时间输入一个char:

Exception in thread "main" java.util.NoSuchElementException
    at java.util.Scanner.throwFor(Scanner.java:907)
    at java.util.Scanner.next(Scanner.java:1416)
    at class1.main(class.java:21)

我也尝试过这样的事情:

Scanner scan = new Scanner(System.in);
while (!(boolean)) {
    if (scan.hasNextLine) {
        System.out.Println("Please give a char :");
        char c = scan.next().charAt(0);
    }
    [...]
}
scan.close();

但这一次,我有一个无限循环:(

我不明白,我自己无法弄明白,我读到的很多解决方案并没有为我解决问题。

如何让我的char简单地循环?

Ps:我为英语不够完美而道歉。

1 个答案:

答案 0 :(得分:0)

scan.next()

一直在枚举。

所以,在接受输入之前检查。

尝试

    if(scan.hasNext()){

     System.out.Println("Please give a char :");
            char c = scan.next().charAt(0);
            [...]   
   }