3



ネスト されたfor
ループ のみ を使用して、次の出力を生成する必要 が あります。 while または if ステートメント これ が私のコードです:






public static void printDesign() {
    //for loop for the number of lines
    for (int i = 1; i <= 9; i++) {
        
        //for loop for the left -
        for (int j = 1; j <= 6 - i; j++) {
            System.out.print("-");
        }
        
        //for loop for #'s
        for (int k = 1; k <= 2 * i - 1; k++) {
            System.out.print(i);
        }
        
        //for loop for the right -
        for (int x = 1; x <= 6 - i; x++) {
            System.out.print("-");
        }
        System.out.println();
    }    
}



これはそれが生成するものです:

-----1-----
----222----
---33333---
--4444444--
-555555555-
66666666666
7777777777777
888888888888888
99999999999999999

どうすれば入手できますか?奇数のみを生成するには?

4

4 に答える 4

3

あなたの解決策は正しいものに非常に近いです。i外側のサイクルのステップを変更するだけです。

于 2013-09-30T07:55:49.090 に答える
3
for (int i = 1; i <= 9; i += 2) {
   for (int j = 0; j < (9 - i) / 2; j++) System.out.print('-');
   for (int k = 0; k < i; k++) System.out.print(i);
   for (int l = 0; l < (9 - i) / 2; l++) System.out.print('-');
   System.out.println();
}

出力:

----1----
---333---
--55555--
-7777777-
999999999
于 2013-09-30T08:01:27.240 に答える
2

最初の for ループのインクリメント値を 1 から 2 に変更します。

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

于 2013-09-30T07:55:43.183 に答える
-1

宿題のようですね。しかし、キーが "for(" 行にあるというヒントをお伝えします。

于 2013-09-30T07:57:42.350 に答える