using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace st__009
{
class Program
{
static void Main(string[] args)
{
Console.Write("输入学生百分制的成绩:");
int Grade = (int)Console.Read();
switch (Grade / 10)
{
case 9:
case 10: Console.WriteLine("你的成绩是:A");
break;
case 8: Console.WriteLine("你的成绩是:B");
break;
default: Console.WriteLine("你的成绩是:C");
break;
}
Console.Read();
}
}
}
为什么答案最后还是一闪而过?我隐约看到,输出的结果不对,有人说要将int Grade = (int)Console.Read();改为console.readline()但vs2010显示无法将其转换成int型?求教,谢谢啦
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace st__009
{
class Program
{
static void Main(string[] args)
{
Console.Write("输入学生百分制的成绩:");
int Grade = (int)Console.Read();
switch (Grade / 10)
{
case 9:
case 10: Console.WriteLine("你的成绩是:A");
break;
case 8: Console.WriteLine("你的成绩是:B");
break;
default: Console.WriteLine("你的成绩是:C");
break;
}
Console.Read();
}
}
}
为什么答案最后还是一闪而过?我隐约看到,输出的结果不对,有人说要将int Grade = (int)Console.Read();改为console.readline()但vs2010显示无法将其转换成int型?求教,谢谢啦
readline的返回值明显是个string,你干嘛一定要用之前的int去接受
你换成一个string就好了
string a = "98";
int b = int.Parse(a);
{
Console.Write("输入学生百分制的成绩:");
int Grade = (int)Console.Read();
switch (Grade / 10)
{
case 9:
case 10: Console.WriteLine("你的成绩是:A");
break;
case 8: Console.WriteLine("你的成绩是:B");
break;
default: Console.WriteLine("你的成绩是:C");
break;
}
Console.ReadLine(); //最后加这个可以解决你说的一闪而过
}
这一步 如何更改,谢谢啊
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace st__009
{
class Program
{
static void Main(string[] args)
{
Console.Write("输入学生百分制的成绩:");
string Grade = (int)Console.ReadLine();
try
{
//捕获异常,输入不是数字
switch ((int)(int.Parse(Grade) / 10))
{
case 9:
case 10:
Console.WriteLine("你的成绩是:A");
break;
case 8:
Console.WriteLine("你的成绩是:B");
break;
default:
Console.WriteLine("你的成绩是:C");
break;
}
catch(Exception ex)
{
Console.WriteLine("请输入数字!");
}
}
Console.ReadLine();
}
}
}
{
Console.WriteLine("请输入数字!");
}
}
这里有点看不懂?能否 解释下不?谢谢啊
Read()读取一个字符,返回该字符的ascII码,
ReadLine()是读取一行,返回值是string类型。上面的是异常处理,就是加入你输入的不是数字,那么捕获到异常后,就输出到控制台,进行提示。