问答详情
源自: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%3!=0);i++)                    {

// 变量 i 与 3 进行求模(取余),如果不等于 0 

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

}

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

}

}

运算结果:1到100之间不能被3整除的数之和为:3

正确答案应该为 3367

  该 题目 要求 是:计算1到100之间不能被3整除的数之和 

我算出的答案是3,我想请问哪里出错了?

求大神赐教


提问者:Chienli 2016-01-29 14:00

个回答

  • Bugix_ZY
    2016-01-29 14:05:29
    已采纳

    i % 3 != 0这个判断条件不应该放在for语句里0.0 循环到3就直接跳出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 
        		if(i % 3 != 0){
        			sum = sum + i; // 累加求和
        		}
        	}
        	System.out.println("1到100之间不能被3整除的数之和为:" + sum);
        }
    }


  • 雨中踏步
    2016-01-31 15:08:33

    i=3;

    i%3==0;

    for条件不成立退出循环