问答详情
源自:4-15 编程练习

4-15编程练习 十位数为什么不可以?

int num = 999;

int count = 0;


    for(;num!=0;){

       num/=10;

   count++;

}

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


我用的是MyEclipse,为何9位数以上就会报错?

提问者:慕虎5822474 2016-03-23 17:16

个回答

  • 春夜喜雨
    2016-03-23 17:33:40
    已采纳

    我理解的是,java中的int类型存储长度为32bit.所以范围是“-2^32”到“2^32-1”;,也就是“-2147483648”到“2147483647”.最大是十位数,但是当大于2147483547就会溢出报错。

  • 又一个cc
    2016-03-23 17:37:16

    int  类型限制

  • lww岁月如歌
    2016-03-23 17:37:14

    int num = 9999999999;

    int count = 0;

    while (num != 0)

    {

           count++;

           num/=10;

    }

    你再试一试,像我这样写,十位是可以的,不过最大就十位,记得采纳!



  • qq_onlyonly_0
    2016-03-23 17:36:55

    public class Test {
     public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.print("请输入数据:");
      long num =  sc.nextLong();
      int count = 0;
      for (; num != 0;) {
       num /= 10;
       count++;
      }
      System.out.println("它是个" + count + "位的数!");

     }
    }