0

I am trying to make the triangle I have made up side down. Tried many times, but I don't know how to do this.

The code I have know is:

public static void drawPyramide(int lines, char symbol, boolean startDown) {
    //TRIANGLE

    if(startDown) {
                //The triangle up side down should be here. 
            }

    else {
        int c = 1;
        for (int i = 0; i < lines; i++) {
            for (int j = i; j < lines; j++) {
                System.out.print(" ");
            }
            for (int k = 1; k <= c; k++) {
                if (k%2==0) System.out.print(" ");

                else System.out.print(symbol);
            }

        System.out.print("\n");
        c += 2;
        }
    }

}

Any suggestions how I can "flip" this triangle? Thanks.

4

3 に答える 3

1

三角形を反転するには、反復の方向を変更するだけです。からに移動する代わりに、 からi = 0i < lines移動する必要がありますi = lines-1i >= 0

cまた、開始するスペースと記号の数を変更する必要があります。

次のようになります。

int c = 2*lines;
for (int i = lines-1; i>=0; i--)
{
    for (int j = i; j < lines; j++)
    {
        System.out.print(" ");
    }
    for (int k = 1; k <= c; k++)
    {
        if (k % 2 == 0)
        {
            System.out.print(" ");
        }
        else
        {
            System.out.print(symbol);
        }
    }

    System.out.print("\n");
    c -= 2;
}
于 2012-10-25T13:16:56.353 に答える
0

最初のループ条件を逆にします。つまり、行番号から開始し、それを減らします。またc、それに応じて調整し、以下の例のように高から低に減らします。

    int c = 2*lines-1;
    for (int i = lines; i > 0; i--) {
        for (int j = i; j < lines; j++) {
            System.out.print(" ");
        }
        for (int k = 1; k <= c; k++) {
            if (k%2==0) System.out.print(" ");

            else System.out.print(symbol);
        }

      System.out.print("\n");
      c -= 2;
    }
于 2012-10-25T13:18:55.290 に答える