0

Java とネストされた for ループで中空の三角形を作成するにはどうすればよいですか? 中実の三角形が機能するようになりましたが、中空のものからどこから始めればよいかわかりません。

期待される出力:

**********
 *       *
  *      *
   *     *
    *    *
     *   *
      *  *
       * *
        **
         *

編集:これは、立体三角形を作成するための私のコードです:

String print = "";
char c = '*';
int size = 5;
for(int i=0;i<=size;i++) {
    for(int j=size;j>i;j--) {
         print+=c;
    }
    print+="\n";
}
4

2 に答える 2

0

あなたは本当にあなた自身の宿題をするべきです。しかし、私は特に寛大な気持ちを持っているので...

int width = 10;
char bound = '*';
char filler = ' ';

// Outer loop on i loops over rows
for (int i = 0; i < width; i++)
{
    // Inner loop on j loops over columns
    for (int j = 0; j < width; j++)
    {
        if (i == 0) // first line is completely full
            Console.Write(bound);

        else if(j == i)
            Console.Write(bound);

        else if(j == (width-1))
            Console.Write(bound);

        else
            Console.Write(filler);
    }

    // Move to next row on the console
    Console.WriteLine();
}

おそらく世界で最も効率的なものではありませんが、うまくいきます。

于 2013-09-27T00:53:23.300 に答える
0

ループの修正例

int size = 5;
String print = "";
for(int i=0;i<=size;i++) {
    print += "*";
    for(int j=size;j>i;j--) 
         print+= (i==0)?"*":" ";
    print += "*\n";
}
于 2013-09-27T02:07:50.450 に答える