这个代码是对的,我回过头来再一看这个代码,我觉得蒙圈了。求各位大师,各位朋友,能给注释一下。谢谢。/* 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
提交
取消