2014-11-08 70 views
1

只要分割变量与变量num具有相同的基本10次方,该程序就可以工作,在这种情况下,数字为12345,因此分割需要为10000.虽然这适用于5位数字,但任何含有更多少于5位数字不会打印出其个人数字。我如何配置分割以使其自动具有与num相同的基本10次方?如何打印出任意长度的整数的数字?

public class lab5testing 
{ 
    public static void main (String args[]) 
    { 
     int num = 12345, digit = 0, divide = 10000; 
     if (num != 0) 
     { 
      while(num != 0) 
      { 
      digit = ((num/divide)%10); 
      System.out.println(digit); 
      divide /= 10; 
      if (divide == 0) 
      { 
       num = 0; 
      }    
      } 
     } 
     else 
     { 
      System.out.println(num); 
     }  
    } 
} 

回答

1

也许你应该试试这个:

int length = (int)(Math.log10(num)+1); 

然后:

int divide = Math.pow(10,lengh); 
+0

我得到一个错误说:不兼容的类型:双重可能有损转换为int。 – 2014-11-08 19:56:26

+0

奇怪...这个怎么样:int length = String.valueOf(num).length(); – 2014-11-08 21:08:23