#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 символов). Затем вам нужно настроить количество пробелов, которые вы печатаете в каждой строке треугольника.