1

C# の勉強を始めたときに、課題の 1 つで問題が発生しました。課題は、星でできたピラミッドを作ることです。高さはユーザー入力によって指定されます。

何らかの理由で、最初のforループが最後までスキップされます。heightデバッグ中に、変数が の値を受け取ることに気付きましたbarが、その後は最後までスキップします。コードは私には問題ないように見えるので、理由はわかりません。

do-ループは、入力された値が以下whileの場合に、ユーザーに新しい値を求めるためにあります0

using System;

namespace Viope
{
    class Vioppe
    {
        static void Main()
        {
            int bar; 

            do
            {
                Console.Write("Anna korkeus: ");
                string foo = Console.ReadLine();
                bar = int.Parse(foo);
            }
            while (bar <= 0);

            for (int height = bar; height == 0; height--)
            {
                for (int spaces = height; spaces == height - 1; spaces--)
                {
                    Console.Write(" ");
                }
                for (int stars = 1; stars >= height; stars = stars * 2 - 1)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }
        }
    }
}
4

4 に答える 4