java中如何获取一个正整数的位数?

java中如何获取一个正整数的位数?

第一种(使用%,math.log

  1. int a = 1104;  
  2. // 最后一位  
  3. System.out.println(a % 10);  
  4.   
  5. int m = 1;  
  6. for (int i = 0; i < (int) Math.log10(a); i++) {  
  7.     m *= 10;  
  8. }  
  9. // 第一位  
  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);