C++编译时候,代码的问题

public class HelloWorld{

public static void main(String[] args){

int num = 999;

int count = 0;

if(num > 99  && num<=9999999999)//是输入位数在3位和10位之间(后面那个位数有误)

{

    for(int i=0;i<=10;i++)//进入循环,已近确定是最多10位

    {

        if(num>0) //大于0就继续

        {

            num/=10; //除10

            count++; //增加位数

        }

        else  //不大于0则出完,退出循环

        {

            break;

        }

    }

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

}

else

{

    System.out.print("输入有误");

}

}

}


这是我的代码,那个if判断后一个数据应该是10个9,但是编译的时候能只能输入8个,否则出错,请问这是怎么回事?

报错的是:

/85/7249/1OYK/HelloWorld.java:5: error: integer number too large: 9999999999
if(num > 99  && num<=9999999999)//??????3??10?????????????
                     ^
1 error


sorgs
浏览 1274回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP