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

为什么当我把NUM定义成不符合for的条件的时候不执行ELSE反而报错呢

public class HelloWorld{

public static void main(String[] args){

int num=9988888888;

int count = 0;

if (num>=0&&num<=999999999)

{while

(num!=0){count++;num/=10;

}

System.out.println("它是个"+count+"位的数");

}

else

    System.out.println("输入错误");

}

}


正在回答

3 回答

int 是整型,你的9999999999需要长整型long来存储。

0 回复 有任何疑惑可以回复我~
public class Hello {
        public static void main(String[] args) {
            long num=9999999999L;
            int count = 0;
            if (num>=0&&num<=99999999)
            {while
            (num!=0){count++;num/=10;
            }
                System.out.println("它是个"+count+"位的数");
            }
            else
                System.out.println("输入错误");
        }
}

解决了。。。9999999999不在int的范围内。

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

你这程序里没有for啊

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

qq_呼呼_14 提问者

为什么要for呢。
2018-10-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么当我把NUM定义成不符合for的条件的时候不执行ELSE反而报错呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信