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

为什么当我把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下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号