为了账号安全,请及时绑定邮箱和手机立即绑定

public class HelloWorld{ public static void main(String[] args){ int num =999; int count = 1; do{ count=count+1; num/=10; }while(num/10!=0); System.out.println("它是个"+count+"位的数!"); } }

作者考虑了没?

正在回答

5 回答

这个有点小问题 count的值直接设为1的话,当num为个位数的时候,结果的是2位数。 结构有点小问题。

0 回复 有任何疑惑可以回复我~

count从0开始

0 回复 有任何疑惑可以回复我~

while(num!=0)应该就ok了

0 回复 有任何疑惑可以回复我~

do...while语句会先执行一步,因此如楼上所说,num是个位会有点小问题,建议使用while,也可双层FOR循环

eg:

   

public class HelloWorld{

        public static void main (String[] agrs){

        int num=999878;

        int count=0;

        for(int j=10,i=1,x=1;num>i;i=i*10,x=x+1,j=j*10){

            if(num<j){

                count=x;

                System.out.println("这是一个"+count+"位数");

                break;

                        }

            }

    }

}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

public class HelloWorld{ public static void main(String[] args){ int num =999; int count = 1; do{ count=count+1; num/=10; }while(num/10!=0); System.out.println("它是个"+count+"位的数!"); } }

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信