gpt4 book ai didi

java - 为什么我的 Java while 循环首先进行两次传递?

转载 作者:行者123 更新时间:2023-12-01 08:02:00 25 4
gpt4 key购买 nike

为什么我的 while 循环在允许用户输入之前要进行两次传递?尝试使用 for 循环进行相同的操作,但无法弄清楚为什么在允许用户输入之前要求输入两次。我知道这是一个愚蠢的、简单的逻辑错误,但我是个菜鸟。提前致谢。

public static void main (String [] args){

Scanner scan = new Scanner(System.in);

System.out.println("How large would you like the array to be? (number)");
int arraySize = scan.nextInt();
String [] myArray = new String [arraySize];
int i = 0;

if (arraySize <= 0 ) {
System.out.println("Please enter a positive integer for the array size. Rerun program when ready.");
} else {
while (i < myArray.length) {
System.out.println("Please type a string to be entered in the array");
myArray[i] = scan.nextLine();
i++;
}
}


}

输出看起来像

How large would you like the array to be? (number)
5
Please type a string to be entered in the array
Please type a string to be entered in the array

最佳答案

nextInt 之后添加 scan.nextLine();:

int arraySize = scan.nextInt();
scan.nextLine();

while 循环的第一次迭代不会在 nextLine() 上阻塞,因为它会在您输入的第一个整数之后选取新行。

关于java - 为什么我的 Java while 循环首先进行两次传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24789030/

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