gpt4 book ai didi

java - 为什么 input.nextint 方法有一个\n 作为剩余?

转载 作者:行者123 更新时间:2023-11-30 10:25:45 24 4
gpt4 key购买 nike

在这个问题的回答中,我不明白为什么 input.nextInt 有一个换行符作为剩余部分。

Scanner is skipping nextLine() after using next(), nextInt() or other nextFoo()?

最佳答案

答案很简单:

Scanner#nextInt() 读取下一个整数,但不读取用户按下以提交整数的换行符 (ENTER)。

要理解这一点,您必须知道您键入的所有内容都将写入缓冲区,Scanner 方法会尝试从中读取。


看下面的例子:

System.out.println("Enter a number: ");
int i = scanner.nextInt();
System.out.println("Enter a line: ");
String l = scanner.nextLine();

会发生什么:

  • 用户看到 Enter a number: 并将按 17ENTER
  • 扫描仪将读取 17 但保留 ENTER 的换行符。
  • 程序将写入 Enter a line: 但扫描器将读取 ENTER 的换行符而不是等待输入。

关于java - 为什么 input.nextint 方法有一个\n 作为剩余?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45979007/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com