计算1至100之间不能被3整除的数之和?

for(int ima=1,sum=0;ima%3!=0&&ima<100;++ima,sum=sum+ima){
		System.out.println(sum);
	}

是哪里出了问题?

yuanyuan_0005
浏览 3589回答 6
6回答

Its_forever

你这样写代码的可读性太差了,也容易把自己搞晕。在main函数里面试一试这样 int sum=0; for (int i = 1; i <=100; i++) { if(i%3!=0){ System.out.println(i); sum+=i; } } System.out.println(sum);

keiu

基本功太差for的第2个条件只要失败则for就停止运行了so 当ima=3时循环体就结束了而且你要求的是"和"而不是每次的sum

专注感觉

ima%3!=0&&ima<100 这个条件,在ima=3的时候 ima%3 为false, 与ima<100并集,也是false。false,就for循环就结束。 

Davidham3

出问题的主要原因是,for循环中的第二项,ima % 3 != 0一旦ima % 3 != 0不成立,就比如ima等于的时候,这个时候,(ima%3!=0&&ima<100)这项就是false,for循环中的第二项一旦为false,就会停止循环,不再继续,因此应该改为for(int ima=1, sum=0; ima<100; ++ima, sum=sum+ima){     if(ima%3!=0)         continue;     System.out.println(sum); }但是,非常不建议你写成这样,因为这样的代码可读性太差,别人维护起来很困难。

水煮风云彡

for(int a=1,b=0;a*3<100;b+=a*3,a++){ System.out.println(b); }

qq_灰太狼_27

int sum = 0; for (int j = 1; j < 100; j++) { if(j%3!=0){ sum = sum + j; } } System.out.println("sum = "+ sum);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java