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

请问我这个程序哪里错了,运行提示数值过大。。

public class HelloWorld{

public static void main(String[] args){

int num = 999;

int count = 0;

if(num<10000000000&&num>-10000000000){

while(num>1||num<-1){

    num = num/10;

    count++;

}

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

}else{

    System.out.println("您的输入有误,请重新输入");

}


}

}


正在回答

3 回答

int的取值范围:2147483647~-2147483648,你那个好像溢出了吧,可以用

System.out.println(Integer.MAX_VALUE);

System.out.println(Integer.MIN_VALUE);求一下

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

cc大客 提问者

还不会这个方法,不过你回答的很好,谢谢
2015-12-31 回复 有任何疑惑可以回复我~

num变量的类型改为long

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

cc大客 提问者

改为long就与原题不对了,我自己找到问题了,int只能接收2^31以内的数,所以原题出的是10位以内的数
2015-12-27 回复 有任何疑惑可以回复我~

/是除的意思,不是求余

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

举报

0/150
提交
取消

请问我这个程序哪里错了,运行提示数值过大。。

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