2015-10-26 107 views
-4
public void GetPosNonZeroDouble() 
{ 
    double x; 

    Console.WriteLine("Enter The Length Of The Side"); 
    x = double.Parse(Console.ReadLine()); 
    if (x <= 0) 
     Console.WriteLine("Error - input must be a non - zero positive number"); 
    else 
     return x; 

    x = double.Parse(Console.ReadLine()); 
} 

static void ProcessSquare() 
{ 
    GetPosNonZeroDouble(); 
    double side; 
    double answer; 
    Console.WriteLine(); 
    side = double.Parse(Console.ReadLine()); 
    answer = Math.Pow(side, 2); 

    Console.WriteLine("The Square Area is {0}", answer); 
} 

我應該有一個「GetPosNonZeroDouble」這就需要採取行動這樣的形象:c#Question 我宣佈這個方法,但我不能確定我怎麼告訴processSquare()來檢查,如果數字是< 0以及如何通過輸入模塊來顯示。 請幫助我,因爲我堅持找到解決我的問題。C#方法聲明

回答

0

您需要使方法成爲靜態方法,或者使其成爲類的一部分並從類的實例中調用它。另外,您不能從void方法返回值。

public static double GetPosNonZeroDouble() 
{ 
    double x = 0; 

    while (x <= 0) 
    { 
     Console.WriteLine("Enter The Length Of The Side"); 
     if (!double.TryParse(Console.ReadLine(), x) || x <= 0) 
     { 
      Console.WriteLine("Error - input must be a non - zero positive number"); 
     } 
    } 
    return x; 
} 
+0

謝謝!!這有助於一噸。 – tdotl2

0
GetPosNonZeroDouble 

是你正試圖從一個靜態方法調用一個實例方法,你不能做到這一點。您需要創建GetPosNonZeroDouble所在的任何類的實例,然後使用點符號調用它。 看看here,你也應該嘗試一些C#教程讓你走。