gpt4 book ai didi

java.util.Scanner 跳过输入请求

转载 作者:行者123 更新时间:2023-12-03 22:14:13 27 4
gpt4 key购买 nike

我正在尝试使用 java.util.Scanner 接收输入:

Scanner scanner = new Scanner(System.in);
int bla = scanner.nextInt();
String blubb = scanner.nextLine();

但是 nextLine() 命令被跳过并返回一个空字符串。我该如何解决这个问题?

最佳答案

nextInt 方法不会使用整数后的换行符,因此当您调用 nextLine 时,它只会读取紧跟在整数之后的换行符。

示例

如果你有这样的输入:

42\n
foo\n

readInt 调用消耗 42 但不消耗换行符:

\n
foo\n

现在,当您调用 readLine 时,它会消耗第一行的其余部分,其中仅包含换行符。

解决方案

尝试丢弃整数后的其余行:

int bla = scanner.nextInt();
scanner.nextLine(); // Discard the rest of the line.
String blubb = scanner.nextLine();

或者使用 nextLine 一致地读取每一行,然后自己将字符串解析为整数:

String blaString = scanner.nextLine();
int bla = Integer.valueOf(blaString);
String blubb = scanner.nextLine();

关于java.util.Scanner 跳过输入请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13993987/

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