2014-11-08 6 views
1

이 프로그램은 나누기 변수가 변수 num과 동일한 기수 10 인 경우 작동하며이 경우 숫자는 12345이므로 나누기는 10000이어야합니다.이 값이 5 자리 숫자 일 경우 더 많거나 5 자리 미만은 개별 숫자가 인쇄되지 않습니다. 자동으로 num과 같은 기수가되도록 나누기를 어떻게 설정합니까?길이의 정수를 출력하는 방법은 무엇입니까?

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로 이중에서 가능한 손실 변환을

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

내가 말하는 오류가 발생합니다. –

+0

이상한 ... 이것에 대해 : int length = String.valueOf (num) .length(); –