"while" ループを使用して C# で "fizz-buzz" を解決するとき、最初に 3 と 5 の両方の倍数 (15 の倍数) を見つけてから、以下のように 3 と 5 の倍数に移動する必要があることがわかりました。
int myval = 0;
while (myval < 100)
{
myval = myval + 1;
if (myval % 15 == 0)
{
listBox1.Items.Add("fizzbuzz");
}
else if (myval % 3 == 0)
{
listBox1.Items.Add("fizz");
}
else if (myval % 5 == 0)
{
listBox1.Items.Add("buzz");
}
else
{
listBox1.Items.Add(myval);
}
}
しかし、最初に 3 と 5 の倍数をフィルター処理するコードを記述してから、以下のように 3 と 5 の両方の倍数 (15 の倍数) に移動すると、最終結果にはフィズ (3 の倍数) とバズ (5 の倍数) のみが表示されます。 ) フィズバズなし (3 と 5 の倍数)。IDEでエラーが表示されなくても、これの理由を知っている人はいますか。
myval = 0;
while (myval < 100)
{
myval = myval + 1;
if (myval % 3 == 0)
{
listBox1.Items.Add("fizz");
}
else if (myval % 5 == 0)
{
listBox1.Items.Add("buzz");
}
else if (myval % 15 == 0)
{
listBox1.Items.Add("fizzbuzz"); // for multiples of both 3 and 5
}
else
{
listBox1.Items.Add(myval);
}
}