0

我在 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!");

        }
4

1 回答 1

1

你可以这样做:

    Console.WriteLine("Type the 'A' value");
    string s = Console.ReadLine();        
    double a = s == "x" ? 1 : Convert.ToInt32(s);

注意:代码不关心某些转换异常,您应该使用try-catch它来处理它。

于 2013-09-08T18:08:47.463 回答