Member 12731696 Ответов: 2

Как напечатать симметричную пирамиду ?


Здравствуйте Разработчики

Я хочу напечатать пирамиду, как показано ниже

        *
      * * *
    * * * * *
  * * * * * * *
* * * * * * * * *



Теперь рассмотрим код

class StarPyramid
{
    public static void main(String arr[])
    {
    int n=6;
    for(int i=0;i<n;i++)
    {
        for(int j=n;j>=i;j--)
        {
            System.out.print(" ");
        }
        
        for(int k=0;k<i;k++)System.out.print("#");
        //If i use the loop mentioned below , then i get asymmetrical pyramid
        //for(int m=0;m<i;m++)System.out.print("#");        
        
        
        System.out.println(" ");
    }
        
    }
}


Что я уже пробовал:

Я получаю асимметричную пирамиду с этим. Пожалуйста, объясните мне логику печати симметричной и как моя отличается с точки зрения логики. Что я делаю неправильно ?

Заранее спасибо !!

2 Ответов

Рейтинг:
1

Patrice T

Вы должны научиться использовать отладчик как можно скорее. Вместо того чтобы гадать, что делает ваш код, пришло время увидеть, как он выполняется, и убедиться, что он делает то, что вы ожидаете.

Отладчик позволяет вам следить за выполнением строка за строкой, проверять переменные, и вы увидите, что есть точка, в которой он перестает делать то, что вы ожидаете.
Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html[^]
https://www.jetbrains.com/idea/help/debugging-your-first-java-application.html[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
Когда код не делает того, что ожидается, вы близки к ошибке.

Совет: возьмите лист бумаги и попробуйте сделать это вручную, ваша программа должна использовать ту же процедуру.
Составьте таблицу с 3 столбцами " строка #", "# пробелы " и "# звезды" и заполните ее