数学sqrt函数。我错过了什么

时间:2016-07-23 16:11:45

标签: c# sqrt

//Add comments here that explain the Sqrt method
        private void btnSqrt_Click(object sender, EventArgs e)
        {
            double num = double.Parse(textDisplay.Text);
            if (num >= 0)
            {
                textDisplay.Text = SquareRoot(num).ToString();
            }
            else
            {
                MessageBox.Show("Number must be positive", "Error Message");
                textDisplay.Text = "0";
            }
        }

        //Add comments here that explain the Sqrt function
        //What are the arguments and the return value(s)

        //To Do – Add the math sqrt method.

        private double SquareRoot(double x)
        {



            textDisplay.Text = Convert.ToString(Math.Sqrt(Convert.ToDouble(x)));


        }

我遇到了数学sqrt方法的问题。 对于这个问题,我一直在给第一行  私人双SquareRoot(双x) 我试图编写方法,但我在SquareRoot下面有一条红线。 我的方法有什么问题? 谢谢 它是一个计算器

4 个答案:

答案 0 :(得分:1)

您的方法指定它返回double值,但其正文中没有返回语句。要解决此错误,请将方法更改为以下内容:

private double SquareRoot(double x)
{
    return Math.Sqrt(x);
}

我删除了Convert.ToDouble看到您的参数类型为double,同时删除了Convert.ToString,因为您之前已调用ToString的函数被调用

答案 1 :(得分:0)

您必须提供如下的退货声明:

private double SquareRoot(double x)
{
    return Math.Sqrt(x);
}

...或者让它成为void ......就像这样:

 private void SquareRoot(double x)

答案 2 :(得分:0)

您的方法应return double,并且不应更改textbox属性。

private double SquareRoot(double x)
{
    return Math.Sqrt(x);
}

答案 3 :(得分:0)

您必须返回值

private double SquareRoot(double x)
{
   return Math.Sqrt(x);
}