如何判断位数

本文介绍两种使用Java程序判断数字位数的方法。第一种方法通过不断乘以10并检查余数来确定位数;第二种方法通过连续除以10直到结果为0,同时计数操作次数。两种方法均适用于小于10位的数字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

拿一道例题来说:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值