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

用java编写第一季4-15: 判断一个数(小于10位)的位数。应该用到幂的运算,没学过,怎么办?

用java编写第一季4-15: 判断一个数(小于10位)的位数。应该用到幂的运算,没学过,怎么办?

慕粉13546656149 2016-07-19 07:48:07
查看完整描述

3 回答

已采纳
?
落雷惊风

TA贡献7条经验 获得超7个赞

int n=2333;

int count=0;

while(n>0){

count++;

n=n/10;

}

System.out.println("该数是"+count+"位");

查看完整回答
1 反对 回复 2016-07-19
  • 慕粉13546656149
    慕粉13546656149
    不错,我看懂了,我的思路有问题。 谢谢你,我想的是假如5555是四位数,它是1000(10的3次)到9999(10的4次减去1)中间的数,则输出这个数是4位数
?
青草0710

TA贡献3条经验 获得超2个赞


提供另一种方法,即用 do...while循环语句编写:

package com.h3c.test;

public class cq1 {

    public cq1() {
    }

    public static void main(String[] args) {
        cq1 c =new cq1();
        System.out.println("该数是"+c.getDigit(100000)+"位");

    }

    /**
     * 判断一个数的位数
     * @param int 需要判断的数
     * @return int 位数
     */
    public int getDigit(int  n){
        int count =0;
        do {
            count++;
            n/=10;
        }while(n>0);
        return count;

    }

}

查看完整回答
1 反对 回复 2016-07-19
?
_潇潇暮雨

TA贡献646条经验 获得超225个赞

哪里需要用到幂啊,设置一个计数器,初始化为0,每次将该数除以10并赋值给该数,计数器加1,直到该数为0.最后计数器的值即为该数的位数。

查看完整回答
1 反对 回复 2016-07-19
  • 慕粉13546656149
    慕粉13546656149
    谢谢你,我想的是假如5555是四位数,它是1000(10的3次)到9999(10的4次减去1)中间的数,则输出这个数是4位数
  • 3 回答
  • 0 关注
  • 1686 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信