这个代码是对的,我回过头来再一看这个代码,我觉得蒙圈了。求各位大师,各位朋友,能给注释一下。谢谢。/* for这个循环里面为什么可以有两个不同的变量?第一个是初始化;第二个是判断条件;第三个是循环 .这个for条件语句牛啊. */package com.weishu;public class weis {public static void main(String[] args){ int num = 1000; int count = 0; for (count=0;num>0;count++){ num/=10;//等价于num=num/10; num=num; } System.out.println("它是个"+count+"位的数");}}
2 回答
已采纳
Caballarii
TA贡献1123条经验 获得超629个赞
for (count=0;num>0;count++){
System.out.println(count);
System.out.println(num);
num/=10;//等价于num=num/10;
System.out.println(num);
//num=num;这句没作用,去掉
}多加几个打印语句,运行一下就能看出来程序是怎么跑的了,当然你要是会debug的话最好了
绿洲仙人球
TA贡献39条经验 获得超47个赞
题主的代码还有可以优化的空间,这个小程序的算法思想就是通过商不为0进行除10计算,能进行几次就是几位数,需要删除的一行在下面代码中注明了。
package com.weishu;
public class weis {
public static void main(String[] args){
int num = 1000;
int count = 0;
for (count=0;num>0;count++){
num/=10;//等价于num=num/10;
//num=num;这句话是多余的,可以删除,上面的语句已经改变了num的值了
}
System.out.println("它是个"+count+"位的数");
}
}添加回答
举报
0/150
提交
取消
