java中如何获取一个正整数的位数?
第一种(使用%,math.log)
- int a = 1104;
- // 最后一位
- System.out.println(a % 10);
- int m = 1;
- for (int i = 0; i < (int) Math.log10(a); i++) {
- m *= 10;
- }
- // 第一位
- System.out.println(a / m);
第二种(转换为字符串)
Scanner input=new Scanner(System.in);
System.out.println("请输入数字:");
int shu=input.nextInt();
String s=String.valueOf(shu);
//或使用:String s=Integer.toString(shu);
int t=s.length();
System.out.println("你输入的数的位数为:"+t);