在 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
}
这就是您要做的全部。
我想在有输入时从控制台获取输入。 现在我的代码是这样的:
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
}
这就是您要做的全部。