为了账号安全,请及时绑定邮箱和手机立即绑定

while问题

package com.while1;


public class A {

  public static void main(String[] args) {

       

int i =1,sum=0;

while ( i<=10     ) {

if(i%2==0){

sum+=i;

}

else{

i++;

}

System.out.println(sum);

}

}

}

为什么运算听不下来一直循环

正在回答

4 回答

public class _switch {
 public static void main(String[] args) {
  int i =1,sum=0;
  while ( i<=10     ) {
  if(i%2==0){
  sum+=i;i++;
  System.out.println(sum);
  }else {
   i++;
  }
  }
 }
}

输出2,6,12,20,30

我是这么改的是你要的结果吗

0 回复 有任何疑惑可以回复我~

你这个代码里面num没有定义变量类型,代码是不能执行的!

0 回复 有任何疑惑可以回复我~

i=1的时候进入while循环,因为1%2!= 0,所以走else{}中的内容i++,即这时候i=2。再进入while循环时,2%2 =0成立,执行sum+=i;不会走else{}中的内容,所以这时候i=2(始终等于2哦!!!!!),所以你的代码之后,经过while循环时i都是为2的,永远都在做求和运算,且i不变,这是个死循环。


0 回复 有任何疑惑可以回复我~

i++位置不对,比如i=2的时候 sum=2,下面i++不会执行,所以不回返回一个值,导致死循环

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165245    人
  • 解答问题       17581    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程
意见反馈 帮助中心 APP下载
官方微信