抱歉,应该添加更多
import java.util.Scanner;
public class rpg {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
String input;
boolean live = true;
if (live == true){
System.out.println("DETECTIVE RPG");
while (true) { // << ENTER CHECK
System.out.print("\n Press Enter...");
input = keyboard.next();
if (input.equals(null))
break;
} // ENTER CHECK >>
System.out.print("Past check.");
键盘是我命名为扫描仪的。
这会将“按Enter”打印到控制台,并确保输入框为空。如果他们按Enter键,它应该打破While循环并转到下一个语句,对吧?当我按Enter键时,它显示另一个输入框,并且永远不会进入下一个打印语句。
答案 0 :(得分:2)
当点击“Enter”时,没有任何令牌可以从Scanner
返回。 next()
method将阻止,直到它可以读取令牌。
查找并返回此扫描仪的下一个完整令牌。在完成令牌之前和之后是与分隔符模式匹配的输入。即使之前的hasNext()调用返回true,此方法也可能在等待输入扫描时阻塞。
切换到nextLine()
。
使此扫描程序超过当前行并返回跳过的输入。此方法返回当前行的其余部分,不包括末尾的任何行分隔符。该位置设置为下一行的开头。
由于此方法继续搜索输入以查找行分隔符,因此如果没有行分隔符,它可以缓冲搜索要跳过的行的所有输入。
它将返回整行输入。当该行为空时,它将返回一个空字符串""
,而不是null
。尝试
input = keyboard.nextLine();
if ("".equals(input))
break;