gpt4 book ai didi

java - 尝试使用 input.nextLine() 用用户输入(字符串)填充数组,但打印输出两次并且第一次不要求输入

转载 作者:行者123 更新时间:2023-12-01 09:18:03 29 4
gpt4 key购买 nike

这是我正在编写的程序中的代码片段:

// User is asked how many options he wants to fill in.
System.out.print("How many options do you have: ");
int numberOfOptions = input.nextInt();

// Array declared for storing user input
String[] options = new String [numberOfOptions];

// The array options is filled with user input in a for loop.
for(int i = 0; i < numberOfOptions; i++){
System.out.print("What is option " + (i + 1) + ": ");
options[i] = input.nextLine();
}

This is the output I get当它被执行时。正如您在屏幕截图中看到的,它打印“What is option...”两次。第一次打印选项 1 时,它不会要求输入。

我尝试过使用 input.next()。这不会给我带来任何问题,它工作得很好。这不是我想要的,因为我希望用户能够输入整个句子而不仅仅是单词。

我该如何解决这个问题,我做错了什么吗?

最佳答案

您的问题是因为对 nextLine() 方法的第一次调用紧接在未读取换行符的 nextInt() 方法之后,并且第一个 nextLine() 读取了该换行符。解决方案是在 nextInt() 之后调用 nextLine()

int numberOfOptions = input.nextInt();
input.nextLine();

关于java - 尝试使用 input.nextLine() 用用户输入(字符串)填充数组,但打印输出两次并且第一次不要求输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40384839/

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