慕虎5822474
2016-03-23 17:16
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 + "位的数!");
}
}
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题