 
		慕数据6417455
2017-06-19 16:44
public class HelloWorld {
public static void main(String[] args) {
int sum=0;
for (int i=1;i<=100 && i%3!=0;i++){
sum=i+sum;
System.out.println("100以不能被3整除的数之和:"+sum);
}
}
}
现在结果是这个
00以不能被3整除的数之和:1
100以不能被3整除的数之和:3
public static void main(String[] args) {
int sum =0;
for (int i=1;i<=100;i++){
if (i%3!=0){
sum=i+sum;
System.out.println("100以不能被3整除的数之和:"+sum);
}
}
}
}
这两个结果为啥不一样
 
				因为你第一个写法i<=100 && i%3!=0,在i累加到=3时,判断FALSE 循环已经跳出了 sum自然=3
 
				int sum = 0;
  for (int i = 0; i <= 100 && i%3 != 0; i++) {
   sum +=i;
   System.out.println("100内以不能被3整除的整数之和:" + sum);
  }
for循环的执行顺序:
   1、先执行:int = 0;
   2、执行条件表达式:i<=100 && i%3 != 0;
   3、如果第2步成立,执行sum += i;
    如果不成立,直接跳出循环,循环结束
   4、执行完第3步,接着执行i++;
   5、再执行 i<=100 && i%3 != 0;
   6、如果第5步成立,执行sum += i;
    如果不成立,直接跳出循环,循环结束
   7、执行i++,依次类推。。。
在上述循环中,循环执行到第2步的时候就跳出循环了,因为此时i = 0, 0%3=0,0对任意数取余结果都是0,条件表达式 0<=100 && i%3!=0 结果为false,直接跳出循环。
int sum = 0;
  for (int i = 1; i <= 100; i++) {
   if (i%3 != 0) {
    sum += i;
    System.out.println("100内以不能被3整除的整数之和:" + sum);
   }
  }
  
  /* 
 此循环的执行顺序:
  
  i的值    循环条件表达式   if条件表达式   sum的值     
  i = 1;      i <= 100;         i%3 != 0;             sum+=i;           i++ 
  1 ;        0<=100 成立,     1%3=1 成立,    sum=0+1=1     i++;
  2 ;        2<=100 成立,     2%3=2 成立,       sum=1+2=3     i++;
  3 ;        3<=100 成立,  3%3=0 不成立     跳过此步            i++;
  4 ;        4<=100 成立      4%3=1 成立       sum=3+4=7      i++;
  ...依次类推,直到i<=100不成立的时候才跳出循环,也就是说当i=101的时候,循环终止
能写的都给你写上了,只能帮到这了... 
  */
 
				跳出for循环的条件不一致。
i<=100 && i%3!=0和i<=100能一样吗?
 
				 写的不好 下班了 着急 将就看吧
写的不好 下班了 着急 将就看吧
 
				public class HelloWorld {
public static void main(String[] args) {
int sum=0;
for (int i=1;i<=100 && i/3!=0;i++){//你将i/3不等于0放在里面他直接就跳出循环了啊(1/3=1啊),所以没有输出
sum=i+sum;
System.out.println("100以不能被3整除的数之和:"+sum);
}
//下面是根据你的意思完成的功能
for (int i=1;i<=100;i++){
if (i % 3 == 0) {
continue;
}
sum=i+sum;
}
System.out.println("100以不能被3整除的数之和:"+sum);
}
}
 
				应该改成for循环语句
 
				把if改成for试试呢
Java入门第一季(IDEA工具)
1168092 学习 · 18754 问题
相似问题