猿问

谁能帮我仔细的分析一下语句,看不懂是怎样运行的

public static void main(String[] args){

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("输入有误");

}

}


二般的婷
浏览 1665回答 5
5回答

慕粉3598658

比较关键的地方在于count++;num/=10这两句。在这个程序里num不等于0,那么num一定大于0,所以count可以先加1,能说得通。num/=10等价于num=num除以10取整,比如说num初始为111,那么第一次循环count=1,num变为11;第二次循环,count=2,num=1;第三次循环,count=3,num=0;退出循环。输出“它是个3位的数!”

allen平凡之路

 num/=10;    /=    是 除和赋值操作符,   既 num = num / 10;num = 999,进入for循环,再进入while循环, num 的值 就经过/=  变成 99、9、0、  而count的值,就是1、2、3、此时 num变成 0.结束循环,输出结果count 

二般的婷

谢谢各位大神的分析,我明白了,谢谢大家!

断桥丶晓风残月

首先判断num的值是否大于等于零,或者小于等于那一串的9。然后是的话执行while循环,每次执行,count都自加一次,用来记录次数。 如果num的值与循环条件不符,就执行else后的代码。
随时随地看视频慕课网APP

相关分类

Java
我要回答