为什么 Java 要求我再次按 Enter 键?
2022-09-03 16:37:22
我绞尽脑汁已经有一段时间了,试图了解扫描仪是如何工作的。所以这是代码:
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
String p = sc.nextLine();
System.out.println(s);
System.out.println(p);
System.out.println(sc.hasNextLine());
我的期望:
Love is good <- press ENTER
Love is blind <- press ENTER
Love is good <- output
Love is blind <- output
false
我有什么:
Love is good <- I press ENTER
Love is blind <- I press ENTER
Love is good <- output
Love is blind <- output
<- press ENTER
true <- output
我不明白的是:
- 而不是立即打印此行 - System.out.println(sc.hasNextLine());- 它使我再次按回车键
- 它打印真而不是假,而没有更多的线条或符号
我读过什么:我已经阅读了十几个关于在下一个Int()之后使用hathNextLine()的堆栈溢出答案,以及关于nextInt()如何不消耗行中的最后一个符号,但我不明白为什么,即使我在这里不使用nextInt(),我仍然需要再按一次Enter,以及为什么hathNextLine()是真的。