Получите ввод от пользователя и напечатайте уменьшающийся образец чисел java - PullRequest
0 голосов
/ 02 декабря 2018

Может кто-нибудь помочь мне написать код, который печатает следующий шаблон.

987654321
 98765432
  9876543
   987654
    98765
     9876
      987
       98
        9          

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

        height = getInPut("Enter the height of the triangle");
        int h = Integer.parseInt(height);
        int start = h, num=1,max=h;

        for (int r= 1; r <=h; r++)
        {
            System.out.println();
            for (int j = 1; j<= max; j++)
            {
                if(h>=6 && h<=10) 
                {
                    System.out.print(num);  
               }else{
                   System.out.println("height should be between 6-10");
                   System.exit(0);
               }

              num++;
            }
           num= r+1;
           max--;
            }

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

1 Ответ

0 голосов
/ 02 декабря 2018

Я бы начал с начального значения 987654321 в StringBuilder, а затем зациклил, пока он содержит символы;на каждой итерации цикла мы хотим вывести разницу (в пробелах) между начальной длиной (девять) и текущей длиной StringBuilder, затем вывести содержимое StringBuilder перед удалением последнего символа.Например,

StringBuilder sb = new StringBuilder("987654321");
while (sb.length() > 0) {
    for (int i = 0; i < 9 - sb.length(); i++) {
        System.out.print(' ');
    }
    System.out.println(sb);
    sb.setLength(sb.length() - 1);
}

Какие выходные данные (по запросу)

987654321
 98765432
  9876543
   987654
    98765
     9876
      987
       98
        9

Я оставлю заполнение начального StringBuilder и настройку девяти в переменной в качестве упражнения для читателя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...