Ваш подход слишком сложен.Я предлагаю вам определить ключевые переменные и использовать их для алгоритма.Кстати, вам не нужно использовать java.util.Scanner
, поскольку вы не получаете никакого входного значения от консоли.
int end = 1;
int step = 2;
int rows = 5;
for (int i=0; i<rows; i++) {
for (int j=0; j<i+1; j++) {
int number = end + i*step - j*step;
System.out.print(number + " ");
}
System.out.println();
}
Вывод (убедитесь, что ):
1
3 1
5 3 1
7 5 3 1
9 7 5 3 1
Кроме того, в вашем коде есть следующая строка:
for (int j = 1; j > i; j--) { ...
Этот цикл никогда не позволяет вводить свое тело из-за условия j > i
и вычитания j
.Я рекомендую вам отладить вашу программу и отслеживать значения i
и j
, чтобы понять, что происходит.