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

运行结果怎么是3

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 ,则表示不能被 3 整除
    sum = sum + i; // 累加求和
   
  }
  
  System.out.println("1到100之间不能被3整除的数之和为:" + sum);
 }
}

提问者:Minke 2016-02-01 09:11

个回答

  • 此处无人
    2016-02-01 09:52:58
    已采纳

    public class HelloWorld {
        public static void main(String[] args) {
      int sum = 0; // 保存不能被3整除的数之和
      
      // 循环变量 i 初始值为 1 ,每执行一次对变量加 1,只要小于等于 100 就重复执行循环
      for (int i = 1;i <= 100  ; i++ ) {
       if(i % 3 != 0)

    {   // 变量 i 与 3 进行求模(取余),如果不等于 0 ,则表示不能被 3 整除
        sum = sum + i; // 累加求和
       }
      }
      
      System.out.println("1到100之间不能被3整除的数之和为:" + sum);
     }
    }

    应该这么写,把if放在for循环里面,如果你在for循环里面加&&的话,条件不成立就会跳出循环,你原来那么写就只是计算了1+2的结果,当i等于3的时候,求余就等于0就跳出了