2 ningchengning ningchengning 于 2013.11.05 21:32 提问

用while和for分别写一段代码时出现了差别,不知道哪里错了。

要求是1-100之间的数,输出能被5整除的数,3个数换一行。
用FOR写没问题,用WHILE写输出结果第一行出现问题
int o = 1;
while(o<=100){

if(o%5==0){

System.out.print(o+"\t");
}
o++;
if(o%(5*3)==0){
System.out.println();
}
}
输出结果:
5 10 (注:这里不知道为什么10就换行了)
15 20 25

30 35 40

45 50 55...
下面是用FOR写的:
for(int j = 1;j<=100;j++){
if(j%5==0){
System.out.print(j+"\t");
}
if(j%(5*3)==0){
System.out.println();
}
}
输出结果:
5 10 15 (注:这里是正常的)
20 25 30

35 40 45

50 55 60...

3个回答

shimucheng
shimucheng   2013.11.05 23:01
已采纳

o++;
if(o%(5*3)==0){
System.out.println();
}

把o++放到循环最后就好了
你这样写的话不是在10的时候输出换行,而是在14的时候输出的换行。前面的代码执行的o=14,无输出,然后o++;,o变成15,就输出换行了

liuxingyuname
liuxingyuname   2013.11.06 17:31

o++;
if(o%(5*3)==0){
System.out.println();
}

把o++放到循环最后就好了
你这样写的话不是在10的时候输出换行,而是在14的时候输出的换行。前面的代码执行的o=14,无输出,然后o++;,o变成15,就输出换行了

同上

u010784130
u010784130   2014.05.06 10:37

int o = 1;
while(o<=100){

    if(o%5==0){

    System.out.print(o+"\t");
    }

    if(o%(5*3)==0){
    System.out.println();
    }
    o++;
    }
 **解释同上**  
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!