C#未处理formatexception 总是报异常
///字符的读取Console.Read();用来读取一个字符。Console.WriteLine("请输入一个字符:");intch=Console.Read();//...
///字符的读取Console.Read();用来读取一个字符。
Console.WriteLine("请输入一个字符:");
int ch = Console.Read(); //console.read()函数返回的是一个整形的ASCII编码。
Console.WriteLine("ASCII编码为:" + ch);
char tt = Convert.ToChar(ch);//将ch整型变形转换为char型
Console.WriteLine(tt);
Console.WriteLine(" "); //这一段加上去下面的程序就会出现异常
//根据圆的半径求面积
double r, s;
Console.WriteLine("r=");
//string name = Console.ReadLine();
string xx = Console.ReadLine();
//xx = Console.ReadLine();
r = Convert.ToDouble(xx);
//因为console.readline();返回的是一个字符串
s = 3.14 * r * r;
Console.WriteLine("s=" + s);
C#未处理formatexception 总是报异常,如果将//根据圆的半径求面积 上面一段作块注释只运行//根据圆的半径求面积下面的一段程序就能正常运行,不知是什么原因 展开
Console.WriteLine("请输入一个字符:");
int ch = Console.Read(); //console.read()函数返回的是一个整形的ASCII编码。
Console.WriteLine("ASCII编码为:" + ch);
char tt = Convert.ToChar(ch);//将ch整型变形转换为char型
Console.WriteLine(tt);
Console.WriteLine(" "); //这一段加上去下面的程序就会出现异常
//根据圆的半径求面积
double r, s;
Console.WriteLine("r=");
//string name = Console.ReadLine();
string xx = Console.ReadLine();
//xx = Console.ReadLine();
r = Convert.ToDouble(xx);
//因为console.readline();返回的是一个字符串
s = 3.14 * r * r;
Console.WriteLine("s=" + s);
C#未处理formatexception 总是报异常,如果将//根据圆的半径求面积 上面一段作块注释只运行//根据圆的半径求面积下面的一段程序就能正常运行,不知是什么原因 展开
1个回答
展开全部
int ch = Console.Read();
Console.WriteLine("ASCII编码为:" + ch);
char tt = Convert.ToChar(ch);
Console.WriteLine(tt);
Console.WriteLine(" ");
// 要注意的就是下面这一行↓
Console.ReadLine();
double r, s;
Console.WriteLine("r=");
string xx = Console.ReadLine();
r = Convert.ToDouble(xx);
s = 3.14 * r * r;
Console.WriteLine("s=" + s);
这是老问题了,关键在于
Console.Read()
和
Console.ReadLine()
之间的区别。具体可以参看MSDN:
http://msdn.microsoft.com/zh-cn/library/system.console.read.aspx
的“备注”这一节。
解决方法是在
Console.Read()
之后和下一次
Console.ReadLine()
之前的任意一处,调用一次
Console.ReadLine()
来清除控制台的输入缓冲区。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询