姚世敏 发表于 2022-10-1 23:22:10

for和while得到的结果为什么不一样

只想要30天的数据为什么for给了我31,用for如何取30天,我哪输的不对呀!!!


while循环:
double money =1;
int day = 1;

while (day <=30){
                       
                        day++;
                        money *=1.5;
                       
                        if (day==30){
                                break;
                        }
                }
System.out.println("第 " + day + " 天,存入 " + money + " 元");

得到的是第 30 天,存入 127834.03948858939 元“


for循环:
double money =1;
int day = 1;
for (; day< 31; day ++){
                        、
                        money *=1.5;
                        break
                }
                System.out.println("第 " + day + " 天,存入 " + money + " 元");
为什么得到的是:第 31 天,存入 191751.0592328841 元

ba21 发表于 2022-10-1 23:29:38

day=30 < 31
day=31 不小于 31
"第 " + day-1 + " 天

wp231957 发表于 2022-10-2 07:00:17

for循环的break是啥,那不是直接终止循环了

homeskating 发表于 2022-10-11 21:16:38

把for循环的条件也改成<=30看下
页: [1]
查看完整版本: for和while得到的结果为什么不一样