如何判断位数

拿一道例题来说:

判断一个数(小于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位的数!

转载于:https://www.cnblogs.com/wangjiong/p/10326004.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值