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

求大佬解释下这段代码

int num = 999;
int count = 0;

if (num >= 0  && num<=999999999){

while(num != 0){
count++;
num/=10;
}
System.out.println("它是个"+ count+"位的数!");
} else{
System.out.println("输入有误!");
}

提问者:qq_慕无忌3144653 2019-05-29 19:48

个回答

  • 慕侠2091547
    2019-05-29 20:22:28
    已采纳

    输入一个数字,计算它的位数。

    判断num的位数是不是大于0位小于10位

    一个循环,num/10如果不等于0,count就加一

  • 稳打稳扎
    2019-07-14 00:10:28

    999!=0,count加一为1;因为是int是整型数据类型,当第一次num/10时,num=99,count加一就成了2;第二次就是99/10=9.9,因为是int的数据类型的问题,所以就变成了9,count加一变成了3;第三次就是9/10=0.9,取整为0,与判断语句num不等于0不符,所以跳出循环,打印count