在 java 中获取输入

Getting input in java

我想在有输入时从控制台获取输入。 现在我的代码是这样的:

Scanner scan = new Scanner(System.in);
String word = "s";
while (word.length() > 0) {
    word = scan.nextLine();
    if (!word.equals(""))
        t.addWord(word);
}

但在某些情况下它给了我 no such element exception 。我不知道是什么情况导致了问题,因为别人检查了我的代码。

我还检查了 hasNext 我的 while 状态。 它工作不正常

String word;
while (scan.hasNextLine()) {
    word = scan.nextLine();
    t.addWord(word);
}

我该怎么办?我的问题是什么?

您截取的第二个代码片段未对 word 执行与第一个代码片段相同的长度检查。假设如果 word 只是一个空行,您希望终止 while 循环,然后放置一个条件,如果满足此条件将跳出循环:

while ( scan.hasNextLine() ){
    word = scan.nextLine();
    if ( word.length() > 0 ){
        t.addWord(word);
    }else{
        break;
    }
}
Scanner sc = new Scanner(System.in);

while(sc.hasNext()){

//logic here

}

这就是您要做的全部。