本帖最后由 sym544135698 于 2013-8-11 13:28 编辑
- public static bool IsPrime(int number)
- {
- if (number <2)
- {
- return false; ;
- }
- else if (number == 2)
- {
- return true;
- }
- else
- {
- for (int i = 2; i < number; i++)
- {
- if (number % 2 == 0)
- {
- return false;
- }
- return true;
复制代码 }
}
}[/code]
以上是错误的,以下为更改- static void Main(string[] args)
- {
- bool result;
- string str = "";
- int number = 0;
- do
- {
- Console.WriteLine("请输入一个正整数");
- str=Console.ReadLine();
- if (str == "q")
- {
- Console.WriteLine("程序结束");
- break;
- }
- try
- {
- number = Convert.ToInt32(str);
- if (number < 2)
- {
- Console.WriteLine("输入不合法,请重新输入");
- }
- else
- {
- result = ZhiShu(number);
- if (result == true)
- {
- Console.WriteLine("{0}是质数", number);
- }
- else
- {
- Console.WriteLine("{0}不是质数", number);
- }
- }
- }
- catch
- {
- Console.WriteLine("输入不合理,请重新输入");
- continue;
- }
- }while(true);
- Console.ReadKey();
- }
- public static bool ZhiShu(int number)//定义一个方法判断是否是质数
- {
- for (int i = 2; i < number; i++)
- {
- if (number % i == 0)
- {
- return false;
- }
- }
- return true;
- }
复制代码 好吧,就注意到个说不是全部都有返回值路径的错误,就更改,没仔细的看,失误了,抱歉。
|