2016-10-19 3 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

pascal не определен в вашей программе .. вы уверены, что это работает? –

+0

Извините, int pascal = 1 вместо int triangle = 1. – twostart

+0

изменение кода также пожалуйста –

ответ

0

Я думаю, что происходит то, что вы выводите свои цифры в 4 символьных «блоках», эта линия следит за этой частью;

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

Ниже будет выводить число слева от «окна» - Несмотря на то, пробельном будет теперь задним.

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

Все зависит от того, какое максимальное значение n вы собираетесь использовать. Например, вы можете решить, что каждый номер будет содержать 4 символа (если все числа равны 9999 или меньше - на самом деле, с треугольником Паскаля с 20 строками, вам потребуется не менее 5 символов). Затем вам нужно будет отрегулировать количество пробелов, которые вы распечатываете в каждой строке треугольника.

Смежные вопросы