如何判断位数
拿一道例题来说:
判断一个数(小于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位的数!