我在C#控制台应用程序中遇到严重问题,以下代码无法正常工作...它必须要求我键入以下字母值,然后必须使用我键入的值计算,但是我键入了一个字符,如' x ',它不等同于“ 1 ”,我怎么能解决这个问题???,什么是肯定的解?? “x”值应相当于1
string nun = "2";
Console.WriteLine("Type the 'A' value");
double a = Convert.ToInt32(Console.ReadLine());
if (a=='x') {
a = 1
}
Console.WriteLine("Type the 'B' value");
double b = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Type the 'C' value");
double c = Convert.ToInt32(Console.ReadLine());
double delta = Math.Pow(b,2) - (4*a*c);
if(delta > 0 ) {
double x1 = (-b + Math.Sqrt(delta) / 2 * a);
Console.WriteLine("value of x1: {0}",Convert.ToInt32(x1));
double x2 = (-b - Math.Sqrt(delta) / 2 * a);
Console.WriteLine("value of x2: {0}",Convert.ToInt32(x2));
}
else if (delta < 0) {
Console.WriteLine("there is no any different real root in this equation!");
}
答案 0 :(得分:1)
你可以这样做:
Console.WriteLine("Type the 'A' value");
string s = Console.ReadLine();
double a = s == "x" ? 1 : Convert.ToInt32(s);
注意:代码不关心某些转化异常,您应该使用try-catch
来处理它。