2016-07-23 4 views
-4
//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. Что не так с моим методом? Благодаря Сво калькуляторматематическая функция sqrt. Что мне не хватает

+2

Вы должны научиться смотреть ближе на помощь VS обеспечивает до прихода сюда! Он определенно сказал вам, что у вашего метода отсутствует возвращаемое значение, которое вы обещали в подписи. – TaW

ответ

0

Вы должны предоставить возвратную подобное заявление:

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

... или сделать его void ... как это:

private void SquareRoot(double x) 
+0

Вы дважды вызываете 'Math.Sqrt' и' Convert.ToDouble'. 'Convert.ToDouble' даже не требуется, потому что параметр уже имеет тип' double'. – Wazner

+0

@ Вазнер, да, я сейчас редактировал его. Не могли бы вы назвать меня? –

+0

Нет проблем, я удалил свой нижний план. Хорошая работа по быстрому редактированию :) – Wazner

1

Ваш метод определяет, он возвращает значение double, но в его теле нет оператора возврата. Чтобы исправить эту ошибку, измените метод на следующее:

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

я удалил Convert.ToDouble видя, как ваш параметр имеет тип double, также удалены Convert.ToString, потому что вы уже называют ToString ранее, когда функция вызывается.

+0

Спасибо за четкое объяснение. – Deise

0

Ваш метод должен быть return a double и не должен изменять свойство textbox.

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

Вы должны вернуть значение

private double SquareRoot(double x) 
{ 
    return Math.Sqrt(x); 
} 
Смежные вопросы