int num = 999;
int count = 0;
for(;num!=0;){
num/=10;
count++;
}
System.out.println("它是个"+count+"位的数!");
我用的是MyEclipse,为何9位数以上就会报错?
我理解的是,java中的int类型存储长度为32bit.所以范围是“-2^32”到“2^32-1”;,也就是“-2147483648”到“2147483647”.最大是十位数,但是当大于2147483547就会溢出报错。
int 类型限制
int num = 9999999999;
int count = 0;
while (num != 0)
{
count++;
num/=10;
}
你再试一试,像我这样写,十位是可以的,不过最大就十位,记得采纳!
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 + "位的数!");
}
}