想要在java中删除隐藏的println int-anzZeilen=9; int anzZahlen=1; 对于(int i=1;i

想要在java中删除隐藏的println int-anzZeilen=9; int anzZahlen=1; 对于(int i=1;i,java,println,Java,Println,您可以只维护一个StringBuilder,并在过程中附加到它,只在末尾打印一次: int anzZeilen = 9; int anzZahlen = 1; for (int i = 1; i <= 9; i++) { System.out.print(" "); for (int j = 1; j < anzZeilen; j++) { System.out.print(" ");

您可以只维护一个
StringBuilder
,并在过程中附加到它,只在末尾打印一次:

int anzZeilen = 9;
    int anzZahlen = 1;

    for (int i = 1; i <= 9; i++) {

        System.out.print("      ");

        for (int j = 1; j < anzZeilen; j++) {

            System.out.print("  ");

        }

        if (anzZahlen % 2 != 0) {

            for (int x = 1; x <= anzZahlen; x++) {

                System.out.print("  ");

                System.out.print(x + " ");

            }

        }

        System.out.println();
        anzZahlen++;
        anzZeilen--;

    }
int-anzZeilen=9;
int anzZahlen=1;
StringBuilder msg=新的StringBuilder();

对于(int i=1;i空格打印的目标是什么?而且println当前不在if语句中,所以将它放在if块语句中,位于内部for循环之后。它的代码来自另一个任务,在每个内部循环之后它需要一个新行。我已经尝试将它放在那里,但它破坏了应该出来的金字塔我们看到了一些正确的示例输出?很难用图片更新我的帖子谢谢你的建议,但我想得太多了,因为我刚开始使用java,我们可能不应该这样解决它。尽管我会尝试一下,但我现在希望有一个适合我java知识的解决方案
int anzZeilen = 9;
int anzZahlen = 1;
StringBuilder msg = new StringBuilder();

for (int i=1; i <= 9; i++) {
    msg.append("      ");
    for (int j=1; j < anzZeilen; j++) {
        msg.append("  ");
    }

    if (anzZahlen % 2 != 0) {
        for (int x = 1; x <= anzZahlen; x++) {
            msg.append("  ").append(x).append(" ");
        }
    }

    msg.append("\n");
    anzZahlen++;
    anzZeilen--;
}

// now print the entire message, once
System.out.println(msg);