突然我对于这个判断一个数是几位数的代码又蒙圈了

这个代码是对的,我回过头来再一看这个代码,我觉得蒙圈了。求各位大师,各位朋友,能给注释一下。谢谢。

/* 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+"位的数");



}

}


慕粉uspeakeasy
浏览 1959回答 2
2回答

Caballarii

 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的话最好了

绿洲仙人球

题主的代码还有可以优化的空间,这个小程序的算法思想就是通过商不为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+"位的数");     } }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java