2015-10-26 80 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#教程让你走。