gpt4 book ai didi

java - 在 Java 中将 for 循环转换为 while 循环

转载 作者:行者123 更新时间:2023-11-29 04:54:50 27 4
gpt4 key购买 nike

我需要将这个 for 循环转换为 while 循环,这样我就可以避免使用 break。

double[] array = new double[100];

Scanner scan = new Scanner(System.in);

for (int index = 0; index < array.length; index++)
{
System.out.print("Sample " + (index+1) + ": ");
double x = scan.nextDouble();
count++;
if (x < 0)
{
count--;
break;
}
array[index] = x;
}

这是我想出的,但我得到了不同的输出:

int index = 0;

double x = 0;

while (index < array.length && x >= 0)
{
System.out.print("Sample " + (index+1) + ": ");
x = scan.nextDouble();
count++;
if (x < 0)
{
count--;
}
array[index] = x;
index++;
}

最佳答案

此解决方案提供与 for 循环相同的输出:

while (index < array.length && x >= 0)
{
System.out.print("Sample " + (index+1) + ": ");
x = scan.nextDouble();
count++;
if (x < 0)
{
count--;
}
else
{
array[index] = x;
index++;
}
}

解释:

在 for 循环中,您使用 break 语句,因此在程序中断后什么也不会发生。所以 array[index] = x; 没有被执行。

在 while 循环中,由于没有中断,循环继续,所以语句 array[index] = x;index++; 得到执行。

这就是您得到不同结果的原因。如果你不想要这些语句

array[index] = x;
index++;

要执行,您只需将 if 语句设为上面的 if/else 语句即可。

关于java - 在 Java 中将 for 循环转换为 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34168318/

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