首页 > 解决方案 > 质数验证器代码块让我在 C# 中转换问题

问题描述

static void Main(string[] args)
        {
            if (isPrimeNumber(6))
            {
                Console.WriteLine("This is prime number");  
            }
            else
            {
                Console.WriteLine("This is not prime number");
            }
            Console.ReadLine();
        }
 

        private static bool isPrimeNumber(int number)
        {
            bool result = true;
            for (int i = 0; number - 1; i++)
            {
                if (number % i == 0)
                {
                    result = false;
                    i = number;
                }

            }
            return result;
        }

嘿!我的代码块中有关于素数验证的问题。该程序在 for 循环中返回给我:无法将类型“int”转换为“bool”。我该如何解决?我怎么了?

标签: c#type-conversionprimes

解决方案


for (int i = 0; number - 1; i++)应该for (int i = 0; i < number; i++)number - 1不是布尔表达式。

private static bool isPrimeNumber(int number)
{
    bool result = true;
    for (int i = 2; i < number; i++)
    {
        if (number % i == 0)
        {
            result = false;
            i = number;
        }

    }
    return result;
}

我修好了它for (int i = 0; i < number; i++)应该是for (int i = 2; i < number; i++)


推荐阅读