2017-02-19 1 views
0
while(count <= maxNum){ 
    System.out.println("O-------O"); 
    System.out.printf("|" + "%8s", count + "|"); 
    System.out.println("O-------O"); 
    count++; 
    startTime = System.currentTimeMillis(); 
    //an empty loop! does nothing except keeps checking the continuation condition 
    //continues as long as the time that has passed is less than millisToWait 
    while(System.currentTimeMillis() - startTime < millisToWait); 
    System.out.println("O-------O"); 

위의 코드는 제가 성취하려고 시도한 것의 실제 결과물을 구성하는 코드 부분입니다. 대부분의 경우 코드는 출력을 제외하고는 의도 한대로 작동합니다 (아래 그림은 이미지로 첨부 된 출력입니다). 모든 숫자의 오른쪽에 여분의 "O ------- O"가 있습니다.Java 문자열 서식 지정 문제

Here's the output

것은 내가 틀렸다면 정정 해줘,하지만 난 처음에 println 문 함께 할 수있는 뭔가가 생각하지만, 그 옆에 한 번 정상에 다음 한 번에 인쇄 어떻게 난 아직 확실하지 않다 . 어떤 도움을 주셔서 감사합니다.

답변

1

Printf는 자동으로 줄 바꿈을 추가하지 않으므로 줄 바꿈 문자를 수동으로 추가해야합니다. 우리는 이식성을 이유로 % n instaid of \ n을 사용합니다. 형식을 단순화 할 수도 있습니다.

변경 세 번째 줄에 :

System.out.printf("|%8s%n|", count); 
+0

와우. 그 한 가지 수정이 그것을 고쳤습니다. 정말 고맙습니다. –

+0

@shmosel 고마워, 나는 대답에 그것을 추가했습니다. – Henrykvdb