Может кто-нибудь помочь мне напечатать этот шаблон в Java или помочь мне с логикой - PullRequest
0 голосов
/ 09 февраля 2019
    5
   54
  543
 5432
54321

Я пытался напечатать вышеприведенный шаблон, используя следующий цикл for, но я не знаю, почему он не работает,

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

Ответы [ 2 ]

0 голосов
/ 09 февраля 2019

Предполагается, что вам нужно напечатать шаблон только для строки "54321":

public class Answer {
   public static void main(String[] args) {
    String line = "54321";
    for (int i = 1; i <= 5; i++) {
      System.out.format("%5s%n", line.substring(0, i));
    }
  }
}

Однако вы можете напечатать любую строку с этим треугольным шаблоном:

public class Answer {
  public static void main(String[] args) {
    String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    printTriangle(alphabet);
    String digits = "9876543210";
    printTriangle(digits);
  }

  private static void printTriangle(String line) {
    int lineLen = line.length();
    for (int i = 1; i <= lineLen; i++) {
      System.out.format("%" + lineLen + "s%n", line.substring(0, i));
    }
  }
}
0 голосов
/ 09 февраля 2019

Вам нужно что-то вроде этого:

    for (int i = 0; i < 5; i++) {
        int count = 0;
        for (int j = 5; j >= i; j--) {
            System.out.print(" ");
        }
        for (int k = 5; count <= i; count++, k--) {
            System.out.print(k);
        }
        System.out.println();
    }

Он печатает:

    5
   54
  543
 5432
54321

Ваши ошибки:

В for(int i = 0;i<=5;i++,count = 1,System.out.println()){ Это нехорошее место для: count = 1,System.out.println()

В System.out.print(""); Это ничего не печатает.

В System.out.print(k+""); +"" не требуется.

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