LZ,year 和 最后输出的 Console.WriteLine(year)在同一个级别内,不管你do
{
try //检验用户输入是否正确
{
Console.WriteLine("请输入一个年份:");
year = int.Parse(Console.ReadLine());
flag = false;
}
catch
{
Console.WriteLine("输入有误,请重新输入。");
flag = true;
}
}
内有没有执行 ,都会执行 Console.WriteLine(year);如果do语句没执行 ,Console.WriteLine(year)中的year相当于没有赋值,而year变量 你有没有初始化,当然会报错。
|