我是C#的新手,我试图编写一个程序来检查用户输入的数字是否是素数,运行后出现此错误



告警为:Exception unhandled:System。DivideByZeroException: '试图除以零。'代码是这样的:

Console.Write("Enter the number: ");
int A =Convert.ToInt32(Console.ReadLine());
bool flag = false;
if (A < 2)
{
Console.WriteLine($"{A} is a prime number!! ");
}
for (int i = 0; i < A; i++)
{
if (A % i == 0) 
{
flag = true; break; 
}
}
if (flag == true) 
{ 
Console.WriteLine($"{A} is not a prime number!!"); 
}
else 
{ 
Console.WriteLine($"{A} is a prime number !!"); 
}
Console.ReadKey();

% 0将生成一个DivideByZeroException。以i = 1开始循环

首先A % 0将报告一个异常,将i=0设置为i=1,如果您想获得特定的异常信息,请将其包装在"try…catch"代码块

try{
for (int i = 1; i < A; i++)
{ 
if (A % i == 0) 
{
flag = true; break; 
}
}
}catch(Exception ex){
Console.WriteLine("Exception caught: {0}", ex);
}

相关内容

最新更新