有人可以帮助我在Java中打印此模式或在逻辑上帮助我吗

时间:2019-02-08 21:45:43

标签: java numbers

    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 :(得分:0)

您需要这样的东西:

-Xmx

它打印:

    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+"");是不必要的。

答案 1 :(得分:0)

假设您只需要为字符串“ 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));
    }
  }
}