多啦先生
2015-08-07 16:16
public class HelloWorld{
public static void main(String[] args){
int num = 999;
int count = 0;
if(num>=0&&num<=9999999999){
for(int i=10;i<=10000000000;i=i*10,count=count+1){
if(num/i=0){
System.out.println("它是一个"+count+"位的数");
break;
}
}
}
int count = 1;初始值需要是1
另外值得一提的是
for(int i=10;i<=10000000000;i=i*10,count=count+1) 这个起始范围约束做的非常到位. 10亿刚刚好。代码非常严谨,而且做了一些效率优化。
程序员写一个位数判断也就是10秒钟的事,但是这些细节我肯定会忽略。
public class HelloWorld{ public static void main(String[] args){ int num = 999; int count = 0; if(num>=0&&num<=9999999999){ for(int i=10;i<=10000000000;i*=10){ count++; if(num/i==0){ System.out.println("它是一个"+count+"位的数"); break; } } }
超出int取值范围了
三个地方
1、变量i要从1开始
2、if条件num/i=0应该是num/i==0
3、int行最大为65535,使用9999999999或10000000000进行比较运算,可能会报错。
有啥不对的地方,还请指导。
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题