回 帖 发 新 帖 刷新版面

主题:为何结果都是5呀?

两道题的第八行一个是if(i%3==1)continue;另一个是
if(i%3!=1)continue;为何结果都是5呀????
1.public class ObjectExample

    public static void main(String args[])
    {   
        int i=2,n=0;
        for(i=2;i<5;i++)
        {do
        {if(i%3==1)continue;
            n++ ;}while(n!=i) ;
                    n++ ;}
       System.out.println(n);
       
    }
}
2.public class ObjectExample

    public static void main(String args[])
    {   
        int i=2,n=0;
        for(i=2;i<5;i++)
        {do
        {if(i%3!=1)continue;
            n++ ;}while(n!=i) ;
                    n++ ;}
       System.out.println(n);
       
    }

回复列表 (共6个回复)

沙发

我看上去咋感觉是死循环

板凳

你的程序都是死循环啊…我运行不出结果…

3 楼

死循环把我的电脑都累坏了!!!

4 楼

5 楼

呵呵

6 楼

z找到原因了,第一遍循环的时候i==2,n==0,while满足循环条件
第二遍的时候i==2;n==1;继续运行do-while for不运行i的值不变
第三遍的时候i==2;n==2;while不满足了n++ 后n==3
4的时候i==3了,n==3while永远不满足
就一直进行do-while了

我来回复

您尚未登录,请登录后再回复。点此登录或注册