2016-10-19 2 views
1

파스칼 삼각형을 인쇄하려면 아래 예제 코드를 사용합니다. (저는 스캐너에서 테스트 케이스 = 14를 사용하고 있습니다) 코드는 작동하지만 결과에 선행 공백이 있습니다. 삼각형 앞에있는 공백은 어떻게 제거합니까?파스칼 삼각형의 선행 공백 제거

import java.util.Scanner; 

public class PascalsTriangle { 
    public static void main(String[] args) { 

     Scanner input = new Scanner(System.in); 
     int rows = input.nextInt(); 

     for(int i = 0;i<rows;i++) { 
      int pascal = 1; 
      System.out.format("%"+(rows-i)*2+"s","");) 

      for(int j=0;j<=i;j++) { 
       System.out.format("%4d", pascal); 
       pascal = pascal* (i - j)/(j + 1); 
      } 
      System.out.println(); 
    } 


} 
} 
+2

파스칼은 프로그램에 정의되어 있지 않습니다. 확실합니까? 작동합니까? –

+0

int pascal = int 대신 int pascal = 1 – twostart

+0

코드 변경도 –

답변

0

나는이 부분에서 4 줄의 '블록'으로 숫자를 출력하고 있다고 생각합니다.

String output = String.format("%4d", number); 

다음은 '상자'의 왼쪽에 숫자를 출력합니다. - 공백이 이제는 뒤따를지라도.

String output = String.format("%-4d", number); 

모든 것은 사용하려는 n의 최대 값에 따라 다릅니다. 예를 들어, 각 숫자가 4자를 차지하도록 결정할 수 있습니다 (모든 숫자가 9999 이하인 경우 - 실제로 20 개의 행이있는 파스칼의 삼각형을 사용하면 5 자 이상 필요합니다). 그런 다음 삼각형의 각 행에 인쇄 할 공간의 수를 조정해야합니다.