在C#中使用“while”循环解决“嘶嘶声”时,我发现首先应该找到3和5的倍数(15的倍数),然后转到3和5的倍数如下。了解C#中的嘶嘶声#
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);
}
}
预期的代码运行。由于您正在使用else,因此您不允许多个逻辑决策。 – emd
你能解释一下,只有改变“if语句”才能正确写出它吗 – scylla
@scylla我相信你能够自己阅读和理解下面的许多答案,不是吗?如果没有,我们还应该告诉你什么? – Nolonar