问答详情
源自:4-9 Java循环语句之 for

大佬,我这个for循环代码怎么出错了?

public class HelloWorld {

    public static void main(String[] args) {

int sum = 0; // 保存不能被3整除的数之和

// 循环变量 i 初始值为 1 ,每执行一次对变量加 1,只要小于等于 100 就重复执行循环

/* for (int i = 1; i < 100 ;  i++  ) {

// 变量 i 与 3 进行求模(取余),如果不等于 0 ,则表示不能被 3 整除

if (i % 3 != 0) { 

sum = sum + i; // 累加求和

}

}

*/

for (int i = 1; i <= 100 && i % 3 != 0 ;  i++  ) {

// 变量 i 与 3 进行求模(取余),如果不等于 0 ,则表示不能被 3 整除

sum = sum + i; // 累加求和

}

System.out.println("1到100之间不能被3整除的数之和为:" + sum);

}

}

提问者:慕沐4538654 2018-09-03 15:34

个回答

  • 杏之叶
    2018-09-03 16:11:42
    已采纳

    你看你的循环,当i=3的时候,i%3=0,不满足循环条件就跳出循环了

  • CNSDHH
    2018-09-03 16:25:53

    当 i 等于 3 时,【i <= 100 && i % 3 != 0】为false,循环体结束。所以结果只有 1 与 2 的和,输出结果为【1到100之间不能被3整除的数之和为:3】。

  • 慕前端5577361
    2018-09-03 16:08:00

    判断条件有误,i<=100是判断循环是否继续执行

    i%3!=0是判断是否执行sum=sum+i;

    &&是且,i变量必须同时满足i<=100和i%3!=0

    如果任一条件不满足循环就结束了