Удаление начальных пробелов в треугольнике Паскалей

#java

#java

Вопрос:

Ниже у меня есть несколько примеров кода для печати треугольника Паскалей. (Я использую тестовый пример = 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("M", pascal);
                 pascal = pascal* (i - j) / (j   1);
            }
            System.out.println();
    }


}
}
  

Комментарии:

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

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

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

4. Это очень плохая практика — получать откуда-то код и ожидать, что кто-то исправит его за вас. Получил код? Прочитайте это и поймите, что он делает. Затем вы (а) освоите важный навык программирования, который сможете использовать в реальной жизни, и (б) будете точно знать, что вызывает пробелы в начале, и сможете легко исправить это самостоятельно.

5. Начальный пробел появляется с первого System.out.format (умный способ сделать это!)

Ответ №1:

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

 String output = String.format("M", number);
  

Следующее выводило бы число слева от «поля», хотя пробел теперь был бы конечным.

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

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