JAVA判断一个数字的数位

问题描述:

JAVA判断一个数字的数位
输入一个整数,能判断出这个数的位数,最终要的是能无限位数,无限啊 好纠结,有人能给个代码并说明无限怎么体现么

首先,不论是int还是long都不能做到无限,所以只能用String,那么你第一件事就是判断输入的是不是整数,这个可以用正则表达式,然后用length方法获取长度public static void main(String[] args) {
Scanner in= new Scanner(System.in);
int mun=in.nextInt();
int a = 0;
while(mun!=0){
mun /=10;
a++;
}
System.out.println("您输入的是"+a+"位数");
}
}
是修改还是重写

public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str = in.next();
        String rex = "^\\d+$";
        Pattern p = Pattern.compile(rex);
        Matcher m = p.matcher(str);
        if(m.find()){
            System.out.println("您输入的是" + str.length() + "位数");
        }
    }