-6
--g   h   i   j--
----d   e   f----
------b   c------
--------a--------

我们如何使用 for 循环在 java 中打印此模式。我不想使用“System.out.print()”打印该模式。我尝试使用嵌套的 for 循环,但被卡住了。我无法理解在打印第一行后如何切换到第二行。

破折号(-)指的是空格

这不是我的作业……我刚刚尝试了新的练习程序。

4

5 回答 5

8
for (int i = 0; i < 1; i ++) {
    System.out.println("--g   h   i   j--");
    System.out.println("----d   e   f----");
    System.out.println("------b   c------");
    System.out.println("--------a--------");
}
于 2012-12-29T19:50:32.867 回答
2

此代码将仅在主函数中使用 for 循环准确打印您需要的内容:

public static void main(String[] args) {
    int x = 2;
    int nr = 3;
    char base = 'g';
    for(int i = 0; i < 4; ++i) {
        for(int j = 0; j < x; ++j) {
        System.out.print("-");
        }
        int letNr = 4 - i;
        for(int j = 0; j < letNr - 1; ++j) {
            System.out.print((char)(base + j) + "   ");
        }
        System.out.print((char)(base + letNr - 1)); 
        for(int j = 0; j < x; ++j) {
        System.out.print("-");
        }
        System.out.println();
        x+=2;
        base = (char)(base - nr );
        nr--;
    }
}
于 2012-12-29T20:14:58.333 回答
2

您唯一的要求是打印该图案?

这将完成这项工作:

public static void main(String[] args) {
    System.out.println("--g   h   i   j--");
    System.out.println("----d   e   f----");
    System.out.println("------b   c------");
    System.out.println("--------a--------");
}

请考虑添加我们需要以有意义的方式回答您的问题的所有信息。

于 2012-12-29T19:49:56.203 回答
1

如果你真的想要一个正确的答案,你会想要这个

String[][] letters = { {"a"}, {"b", "c"}, {"d", "e", "f"}, {"g", "h", "i", "j"} };
for (int i = 0; i < 4; i ++) {
    int amountOfHashes = (i+1) * 2;
    String outputString = "";
    for (int i2 = 0; i < amountOfHashes; i ++) {
        outputString += "-";
    }
    String tempArray = letters[3 - i];
    for (int i2 = 0; i < tempArray; i ++) {
        if (i2 != 0) { outputString += " "; }
        outputString += tempArray[i2];
    }
    for (int i2 = 0; i < amountOfHashes; i ++) {
        outputString += "-";
    }
}

还没有测试,所以你必须调试它

于 2012-12-29T19:59:39.657 回答
0

尝试::

for (int i = 0; i < 1; i ++) {
    System.out.println("--g   h   i   j--\n----d   e   f----\n------b   c------\n--------a--------");

}
于 2012-12-29T20:45:58.403 回答