第一个现象的原因:
static void Main(string[] args)
{
bool flag = false;
do
{
Console.WriteLine("请输入一个正整数");
string input = Console.ReadLine(); //声明
if (input == "q") // 第一个input
{
break;
}
try
{
int numb = Convert.ToInt32(Console.ReadLine()); //numb为第二次输入,这里的readline()并不是上一个,而是重新输入一个
if (GetZhi(numb)) //GetZhi是一个判断该数是否为质数的方法,返回的是bool类型的值,是质数就返回true,不是就返回false。
{
Console.WriteLine(numb + "是质数");
}
else
{
Console.WriteLine(numb + "不是质数");
}
//Console.ReadKey();
flag = true;
}
catch
{
Console.WriteLine("输入错误,请重新输入!");
flag = true;
}
}
while (flag);
}
static bool GetZhi(int a)
{
for (int i = 2; i < a; i++)
{
if (a % i == 0)
{
return false;
}
}
return true;
}
第二个现象原因:
static void Main(string[] args)
{
bool flag = false;
do
{
Console.WriteLine("请输入一个正整数");
string input = Console.ReadLine(); //声明
if (Console.ReadLine() == "q") // 修改后
{
break;
}
try
{
int numb = Convert.ToInt32(input); //上述程序中只将第一个readline()赋给了input,所以这里的input是第一次输入的值
if (GetZhi(numb)) //GetZhi是一个判断该数是否为质数的方法,返回的是bool类型的值,是质数就返回true,不是就返回false。
{
Console.WriteLine(numb + "是质数");
}
else
{
Console.WriteLine(numb + "不是质数");
}
//Console.ReadKey();
flag = true;
}
catch
{
Console.WriteLine("输入错误,请重新输入!");
flag = true;
}
}
while (flag);
}
static bool GetZhi(int a)
{
for (int i = 2; i < a; i++)
{
if (a % i == 0)
{
return false;
}
}
return true;
}
第三个现象:
static void Main(string[] args)
{
bool flag = false;
do
{
Console.WriteLine("请输入一个正整数");
Console.ReadLine(); //声明
if (Console.ReadLine() == "q") // 修改后
{
break;
}
try
{
int numb = Convert.ToInt32(Console.ReadLine()); //原因同第一次一样,这里的Console.ReadLine()就是当前输入的值付给num,readline()定义一次就要输入一次值,建议你回头多看看基础视频教程
if (GetZhi(numb)) //GetZhi是一个判断该数是否为质数的方法,返回的是bool类型的值,是质数就返回true,不是就返回false。
{
Console.WriteLine(numb + "是质数");
}
else
{
Console.WriteLine(numb + "不是质数");
}
//Console.ReadKey();
flag = true;
}
catch
{
Console.WriteLine("输入错误,请重新输入!");
flag = true;
}
}
while (flag);
}
static bool GetZhi(int a)
{
for (int i = 2; i < a; i++)
{
if (a % i == 0)
{
return false;
}
}
return true;
}