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() + "位数");
}
}