C# 中的布尔方法

本文关键字:方法 布尔 | 更新日期: 2023-09-27 18:33:06

我希望WinFormApp计算100到1000之间的素数,并将它们显示在"lb"列表框中。但是我面临此错误:

WinFormApp1.Form1.pn(int)':并非所有代码路径都返回值

bool pn(int n)
{
    for (int j = 2; j <= n; j++)
    {
        if (n % j != 0)
            return false;
        return true;
    }
}

private void button1_Click(object sender, EventArgs e)
{
    for (int i = 100; i <= 1000; i++)
    {
        if (pn(i) == true)
            lb.Items.Add(i);
    }
} 

C# 中的布尔方法

您只是错误地将return true放在循环中。除了给出不正确的结果外,编译器还可以看到,如果循环完成,则不会返回任何值,因此会出现编译错误。

bool pn(int n)
{
    for (int j = 2; j <= n; j++)
    {
        if (n % j != 0)
            return false;
    }
    return true;
}
bool pn(int n)
{
    for (int j = 2; j <= n; j++)
    {
        if (n % j == 0)
         {
              return false;
         }
    }
    return true;
}