java - 倒计时金字塔错误

标签 java for-loop

我正试图获得一个重要的金字塔:

      1
     121
    12321
   1234321
  123454321

这是我的代码

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

但这一直给我的输出

     1
    222
   33333
  4444444
 555555555

我怎样才能让我的金字塔右边倒数

最佳答案

这是一个有效的实现。你解决问题的方法对我来说似乎不错,但第三个内部循环有问题。它不是从 1 向上数,而是从 1 开始倒数。相反,只需使用单个外部循环的方法来覆盖金字塔的每一行,以及三个内部循环。第一个循环可以打印空格,接下来的两个循环分别计数,然后向上。

int row = 1;
for (int i=1; i<=5; i++) {
    for (int o=1; o<=5-i; o++) {
        System.out.print(" ");
    }
    for (int k=1; k<=i; k++) {
        System.out.print(k);
    }
    for (int k = i-1; k >= 1; k--){                    
        System.out.print(k);
    }
    System.out.println();  
    row++;
}

输出:

    1
   121
  12321
 1234321
123454321

此处演示:

Rextester

关于java - 倒计时金字塔错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46046036/

相关文章:

java - 如何使用打印格式在文本java周围制作框?

java - Hibernate 查询中的 Oracle 存储过程执行

Python - 有一个具有相同变量的子循环

python - 计算存储在列表中的二维 numpy 数组的平均值

python - 循环遍历数据框字典

与语言环境相关的 Java DynamicReports 格式日期

java - LDAP 连接在 Linux 上的备用连接上抛出 SunCertPathBuilderException

java - 关于typecast "(String)anObject"和anotherString.value.length的疑问

python - 在运行时更改 Python for 循环范围(上限)

c - Rcpp 中单个 "for"循环的意外性能