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

来源:4-15 编程练习

cc大客

2015-12-26 09:54

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回答

  • tingting313
    2015-12-31 10:26:30
    已采纳

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

    System.out.println(Integer.MAX_VALUE);

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

    cc大客

    还不会这个方法,不过你回答的很好,谢谢

    2015-12-31 22:20:43

    共 1 条回复 >

  • 慕妹0356229
    2015-12-26 10:06:33

    num变量的类型改为long

    cc大客

    改为long就与原题不对了,我自己找到问题了,int只能接收2^31以内的数,所以原题出的是10位以内的数

    2015-12-27 21:47:25

    共 1 条回复 >

  • qiqiqiqi010629
    2015-12-26 10:02:42

    /是除的意思,不是求余

Java入门第一季(IDEA工具)升级版

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

1165172 学习 · 17581 问题

查看课程

相似问题