0

ここに画像の説明を入力

プログラムを 88 でテストしたところ、三角形を完成させるために 1 つの星が残りました。87、2 つ星 86 3 つ星。これは特定の数について続きました。

これらは、プログラミングgenerate機能の 2 つのオプションです。

• 1 つは、たとえば、最後の行の長さを計算し、maxLen2 つの for ループを使用して、1 つの星の行、2 つの星の行、3 つの開始行などを生成し、次の行で終了する方法です。maxLen出演者。maxLen の値は、二次方程式の大きい方の解以上の最小の整数です。x ( x + 1 ) = 2 * num.

• もう 1 つは、1 つの for ループを使用しSystem.out.println()て、改行が必要な場所で実行中に num スターを出力することです。改行が必要なポイントは、 と などの 2 つの付随する整数変数を使用して計算できlenますcount。ここで、前者は生成される線の長さであり、は線にcountまだ印刷されていない星の数です。まず、値 1 を両方の整数変数に設定します。反復の各ラウンドで、 の値を減らしますcount。 count の値が 0 になると、改行を挿入し、 の値を増やしてから、lenの値をコピーlencountます。ループが終了したとき、 の値がcount0 でも count でもない場合、星を追加して現在の行を延長します。

    import java.util.*;
    public class TriangleSingle
    {
        public static void generate(int x) //Generates the Triangle
        {
        int len, count;
        len = 1;
        count = 1;
        for (int k = 1; k <= x; k++)
        {
                System.out.print("*");

                count --;

                if (count == 0)
                {
                    System.out.println();
                    len ++;
                    count = len;
                }



        }

        if (count!= 0 || count != len)
                {

            System.out.println("*"); //Completes the triangle if needed
                                       // This is the **problem spot**
                }
4

4 に答える 4