2014-11-08 72 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