如何判断位数

拿一道例题来说:

判断一个数(小于10位)的位数。(输入999,则输出 “它是个3位的数!”)

第一种:

通过寻找规律就能发现:如果一个数a为b位数,则a对10的b次方取余是a的本身

e.g: 22是两位数,22%(10*10)=22;

所以代码为:

 1 public class HelloWorld{
2 public static void main(String[] args){
3 int num = 999;
4 int count = 0;
5 int i=1;
6 do{
7     i=i*10;
8     count++;
9 }while(num%i!=num);
10 if(count>=10){
11 System.out.println("输入错误,请重新输入!");
12 }else{
13 System.out.println("它是个"+count+"位的数!");
14 }
15 }
16 }

运行结果:

它是个3位的数!

第二种:

一个数a每次除以10,位数就会自减一

e.g: 888是三位数,888/10=88;

  88是两位数,88/10=8;

  8是一位数,8/10=0;

所以代码实现为:

public class HelloWorld{
    public static void main(String[] args){
        int num = 999;
        int count=0;
        if(num>=0&&num<=999999999){
             while(num!=0){
                 num=num/10;
                 count++;
             }
        System.out.println("它是个"+count+"位的数!");
        }else{
             System.out.println("输入错误,请重新输入!");
     }
}

运行结果为:

它是个3位的数!

posted @ 2019-01-27 12:05  Tinero  阅读(2216)  评论(0编辑  收藏  举报