вложенный для циклов перевернутая полупирамида

#java

#java

Вопрос:

для школьного проекта я пытаюсь создать перевернутую полупирамиду

в настоящее время мой код выглядит следующим образом

   public static void main(String[] args) {
            int rows = 5;
            for(int i = rows; i >= 1; --i) {
                for(int j = 1; j <= i;   j) {
                    System.out.print(j   " ");
                }
                System.out.println();
            }
    }
  

с этим выводом:

 12345
1234
123
12
1
  

желаемый результат:

  54321
 =4321
 ==321
 ===21
 ====1
  

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

1. Ваш внутренний цикл (с использованием j ) имеет значение от 1 до i , измените его, чтобы перейти от i к 1, если вы хотите изменить порядок.

2. Это не результат вашего текущего кода, поскольку ваш код печатает пробел после каждого числа.

Ответ №1:

Обновление (на основе обновленного требования):

Вам нужен цикл для печати = , равный ( rows row number ) раз.

 public class Main {
    public static void main(String[] args) {
        int rows = 5;
        for (int i = rows; i >= 1; --i) {
            for (int j = i; j < rows; j  ) {
                System.out.print("=");
            }
            for (int j = i; j >= 1; --j) {
                System.out.print(j);
            }
            System.out.println();
        }
    }
}
  

Вывод:

 54321
=4321
==321
===21
====1
  

Оригинальный ответ:

Ваш внутренний цикл должен быть

 for (int j = i; j >= 1; --j)
  

т.е. для каждой строки она должна начинаться с номера строки (т.Е. i ) и опускаться до 1 .

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

1. как бы мне изменить его, чтобы получить новый желаемый результат?

2. @MentalOverload — я опубликовал обновление, основанное на вашем новом требовании.

Ответ №2:

Это просто, вам придется изменить вещи: ваш внутренний цикл, и вам нужно будет переместить оператор println внутри цикла

//code

 public static void main(String[] args){
    int rows = 5;
    for (int i = rows; i >= 1; --i){
        for(int j = i; j >= 1; --j)
            System.out.print(j   " ");
        System.out.println();
    }
}