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

forループを使用してJavaでこのパターンを印刷するにはどうすればよいですか。「System.out.print()」を使用してパターンを印刷したくありません。ネストされた for ループを使用しようとしましたが、行き詰まりました。最初の行を印刷した後、どうすれば 2 行目に移動できるのか理解できません。

ダッシュ (-) はスペースを表します

これは私の宿題ではありません...練習のために新しいプログラムを試しているところです。

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 に答える