繁体   English   中英

For循环无法正常工作

[英]For Loop Doesn't Work Right

为什么此for循环计数不正确的次数? 如果将变量runs设置为3,则循环运行4次。 (另外一种情况。)

提前致谢!

for (int i = runs; i >= 0; i--)
{
   System.out.println("Input Duration of Trip");
   Scanner timeCalc = new Scanner(System.in);
   System.out.print("Hours ==> ");
   int hour = timeCalc.nextInt();
   System.out.print("Minutes ==> ");
   int minute = timeCalc.nextInt();
   System.out.println("You entered: " + hour + " hour(s) and " + minute + " minutes");
   System.out.println();
   time = convertHoursMinutesToDouble(hour, minute);
   totalTime += time;
}

循环运行值:

3
2
1
0

那是4倍。

如果希望它以值3、2和1运行,则可以将for循环更改为:

for (int i = runs; i > 0; i--)

要么

for (int i = runs; i >= 1; i--)
i == 3
i >= 0
println

i--
i == 2
i >= 0
println

i--
i == 1
i >= 0
println

i--
i == 0
i >= 0
println

那是4倍。 您需要满足以下条件:i> 0

你的错误是

i>=0

代码正在执行的操作是:“好吧,我等于三。现在,让我们看看,好吧,再次备份,减去一,i = 2 ...减去一i = 1 ...现在很棘手它跳过了代码的终止部分,因为它先减去它,然后再减去一个,所以i = 0,好了,等待i = 0,所以停止。”

解?

for (int i = runs; **i >= 1**; i--)

这个错误总是把我弄糟。 希望整个“通过计算机事物的思想”不会困扰您。 我就是这么想的。

编码愉快!

因为您设置的大于或等于...

所以从3开始,到2,1,0。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM