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();
}
}
}
}