using System;
class StudentGrade
{
public static void Main()
{
Console.Write("输入学生的百分制成绩:");
int Grade=(int)Console.Read();
switch (Grade/10)
{
case 9:
case 10: Console.WriteLine("你的成绩为:A");
break;
case 8: Console.WriteLine("你的成绩为:B");
break;
case 7: Console.WriteLine("你的成绩为:C");
break;
case 6: Console.WriteLine("你的成绩为:D");
break;
default: Console.WriteLine("你的成绩为:E");
break;
}
}
}
请问段程序为何只执行default后的语句
class StudentGrade
{
public static void Main()
{
Console.Write("输入学生的百分制成绩:");
int Grade=(int)Console.Read();
switch (Grade/10)
{
case 9:
case 10: Console.WriteLine("你的成绩为:A");
break;
case 8: Console.WriteLine("你的成绩为:B");
break;
case 7: Console.WriteLine("你的成绩为:C");
break;
case 6: Console.WriteLine("你的成绩为:D");
break;
default: Console.WriteLine("你的成绩为:E");
break;
}
}
}
请问段程序为何只执行default后的语句
int Grade=(int)Console.Read();
传递给Grade的值后面带有一个回车,你改为:
int Grade=(int)Console.ReadLine();
Console.ReadLine()方法用于将获得的数据保存在字符串变量中
int Grade = int.Parse(Console.ReadLine());
2,用 int.TryParse,因为用户可能输入非数字string input = Console.ReadLine();
int grade;
if(int.TryParse(input, out grade))
{
switch (grade/10)
...
}
else
{
// 要求重新输入
}