qq_尚晨_03700611
2016-12-28 13:47
public class HelloWorld{
public static void main(String[] args){
int num = 999;
int count = 0;
for(int i = 0;i<10;i++){
if(num % (10^i)==0){
System.out.println("它是个"+i+"位的数!");
}
}
}
}
它是个3位的数!
它是个9位的数!
不应该是 他是个0位数!他是个3位数!4,5,6,7,8,9么?
楼主用的算法有问题,没看明白。为什么用for循环,i<10中这个10从哪儿来的?不如用do...while来得快,不管num是几位数,先除以10,次数加1,然后判断商是否大于1,如果大于1继续除以10,直到num变成个位数。此时count就是原来数的位数。
int count=0 ;//保存位数,初始值0
do {num=num/10;
count++;
}while(num>1);
System.out.println("它是个"+count+"位的数!");
Java入门第一季(IDEA工具)升级版
1165183 学习 · 17581 问题
相似问题