我想从键盘上读取内容时得到java.util.NoSuchElementException

时间:2018-09-15 08:49:00

标签: java

我想制作一个简单的应用程序,该应用程序从键盘读取一个字符串,然后将其打印出来并显示一条消息。这是我的代码:

import java.util.Scanner; 

public class HelloWorld {   
    public static void main(String argv[]) {
        Scanner keyboard = new Scanner(System.in);
        System.out.println("enter an integer");
        int myint = keyboard.nextInt();
        System.out.println(myint+ " <- that's the string");     
    }    
}

出问题了,因为我收到一条错误消息:

  

线程“ main”中的异常java.util.NoSuchElementException在   java.util.Scanner.throwFor(Scanner.java:862)在   java.util.Scanner.next(Scanner.java:1485)在   java.util.Scanner.nextInt(Scanner.java:2117)在   java.util.Scanner.nextInt(Scanner.java:2076)在   HelloWorld.main(HelloWorld.java:25)

我该如何解决?

2 个答案:

答案 0 :(得分:1)

您必须使用bb=[] for i in company.col2: for b in student.col1: if i==b: bb.append(i) scanner.hasNext()

scanner.hasNextInt()

答案 1 :(得分:1)

如果没有更多令牌可用,则会抛出

NoSuchElementException。这是由于调用nextInt()而不检查是否有可用的整数引起的。为了防止这种情况发生,您可以考虑使用hasNextInt()来检查是否还有其他令牌可用。

if( keyboard.hasNextInt() )
  int myint = keyboard.nextInt();

read at this link