问答详情
源自:4-15 编程练习

为什么代码中的num/=10, 是显示的num的位数?

public class HelloWorld{
public static void main(String[] args){
int num = 9999;
int count = 0;
if(num>0&&num<=999999999){
while(num!=0){
count++;
num/=10;
}
System.out.println("他是个"+count+"位的数");
}else{
System.out.println("输入有误!");
}
}
}

提问者:未完記憶 2015-11-20 11:57

个回答

  • BobCui
    2015-11-20 12:11:54
    已采纳

    你这个循环出来不就是求num的个数吗?

    因为num是int不会有小数所以每次num/=10;num的位数就少一位,然后每少一位count++,那num到0的时候count的值就是num的位数

  • 那谁某人
    2015-11-27 00:56:18

    "num/=10"每执行一次,num的小数点向左移动一位,该数的位数即增加“1”个