2014-11-23 2 views
0

를 산출한다.루프는이 같은 타임 스탬프 문자열 입력을 소인

나는 사소한 문제가있다. 내가 23 59 59

내가 한 번에 한 개씩 모든 타임 스탬프를 얻기 위해 사용하고 루프에 23 46 22에서, 즉 하루의 끝에까지이 인스턴스에서 모든 타임 스탬프를 받아야하는 것입니다 :

for (int i = hour; i < 24; i++) { 
    for (int j = minute; j < 60; j++) { 
     for (int k = second; k < 60; k++) { 

     } 
    } 
} 

하지만이 루프에 문제가 있습니다. 두 번째 카운터는 항상 : 예컨대, 오직 현재 초부터 시작됩니다

23 46 22 
23 46 23..... 
.. 
23 47 22 
23 47 23... 

내가 올바른 방식으로 타임 스탬프를 얻으려면, 예컨대 :

23 46 22 
23 46 23..... 
.. 
23 47 01 
23 47 02... 

이 작업을 수행하는 우아한 방법은 무엇입니까

?

답변

2

각 루프의 끝에서 초, 분을 재설정 할 수 있습니다

int m = minute; 
int s = second; 

for (int i = hour; i < 24; i++) { 
    for (int j = m; j < 60; j++) { 
     for (int k = s; k < 60; k++) { 
      .... 
     } 
     s = 0; 
    } 
    m = 0; 
} 
+0

내가 지금 바보 같은 느낌. 이 말이 맞습니다. – Anurag

+1

출력 형식을 지정하지 않으면 한 자리 숫자에 선행 0이 표시되지 않음을 잊지 마십시오. 이것이 콘솔에 표시하기위한 것이라면,이 줄'System.out.printf ("% 02d % 02d % 02d % n",시, m, s);를 안쪽 루프에 추가 할 수 있습니다. 파일에 저장하려면'String.format ("% 02d % 02d % 02d % n", 시간, m, s)'를 사용할 수 있습니다. – hfontanez