Создание шаблонов чисел в Java - PullRequest
0 голосов
/ 22 июня 2011

Мне нужно создать эти шаблоны в Java в соответствии с тем, сколько строк вводит пользователь:

1
12
123
1234
12345

54321
4321
321
21
1


     1
    21
   321
  4321
 54321

Я могу сделать первые два, но не могу сделать третий.
Вот код для второго:

public static void displayPatternII (int lines) {

    for (int i = 1; i <= lines; i++){
        for (int j = lines + 1 - i; j > 0; j--)
            System.out.print (j + " ");
        System.out.println();
    }
}

Ответы [ 5 ]

3 голосов
/ 22 июня 2011
 public static void displayPatternIII (int lines) {

    for (int i = 1; i <= lines; i++){
      System.out.print(" ");
        for (int j = lines; j > 0; j--)
            System.out.print (j > i ? " " : j);
        System.out.println();
    }
}
0 голосов
/ 24 февраля 2017
class Series
{
    public static void main()
    {
        int i,j,k;
        for(i=1;i<=5;i++)
        {
            for(j=5;j>=i;j--)
            System.out.print(" ");
            for(k=i;k>=1;k--)
            System.out.print(k);
            System.out.println();
        }
    }
}
0 голосов
/ 22 июня 2011

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

public static void main(String... args) {
    displayPatternIII(5);
}

public static void displayPatternIII(int lines) {
    int cols = lines + 2;
    for (int i = 0; i < cols * lines; i++) {
        int x = i % cols;
        int y = i / cols;
        if (x == lines + 1)
            System.out.println();
        else if (x + y < lines)
            System.out.print(' ');
        else
            System.out.print(cols - x - 1);
    }
}

отпечатки

     1
    21
   321
  4321
 54321
0 голосов
/ 22 июня 2011

Я не дам вам ответ, но я скажу вам, что нужно сделать.

Давайте возьмем

1
12
123
1234
12345

От 1 до определенного номера (от пользователя или чего-либо еще) (давайте назовем этот максимум) Вы печатаете все цифры от 1 до текущего индекса

54321
4321
321
21
1

То же, что и выше, но вы возвращаетесь назад

     1
    21
   321
  4321
 54321

от 1 до макс. выведите n + 1 пробелов, где n - разница между максимальным и текущим индексом

0 голосов
/ 22 июня 2011

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

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