У вас слишком много петель; Мне легче рассуждать о циклах на основе нуля, поэтому я собираюсь использовать это. Выполните итерации i
и j
от 0
до size
. Если j + 1
больше size - i - 1
, то мы хотим вывести j + 1
. В противном случае мы хотим звезду. Как,
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
if (j + 1 > size - i - 1) {
System.out.print(j + 1);
} else {
System.out.print('*');
}
}
System.out.println();
}
Для size = 5
, который выводит (по запросу)
****5
***45
**345
*2345
12345
Если вы просто должны иметь один основанный индекс, это будет
for (int i = 1; i <= size; i++) {
for (int j = 1; j <= size; j++) {
if (j > size - i) {
System.out.print(j);
} else {
System.out.print('*');
}
}
System.out.println();
}