由于某种原因,java用户提示符只差一行吗?
我请求用户输入,但我希望它遵循enter:提示符并在同一行
我的代码将其作为“ok”的结果输入生成
ok
enter: ok
ok
我想用户输入后开始进入:-希望这是一个结果
enter: ok
ok
这是我的代码:
private static Scanner u = new Scanner(System.in);
try{
while(u.hasNext() && !u.equals("exit")) {
System.out.printf("enter: ");
usrInput = u.next();
System.out.printf(usrInput + "\n");
System.out.println(findClosestMatch(usrInput.toLowerCase()));
}
} catch(NullPointerException e) {
System.out.println("Error - NullPointerException");
}
# 1 楼答案
u.hasNext()
在提示之前阻止输入。这是不必要的,因为之后调用u.next()
会被阻塞。您正在将实际的Scanner
对象与“exit”进行比较,这永远不会是真的。试试这个: