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()检查数字是否为&lt; 0以及如何通过输入模块来显示。 请帮助我,因为我找不到解决问题的方法。
答案 0 :(得分: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;
}
答案 1 :(得分:0)
GetPosNonZeroDouble
是您尝试从静态方法调用的实例方法,但您无法执行此操作。您需要创建GetPosNonZeroDouble所在的任何类的实例,然后使用点表示法调用它。 看看here,你也应该尝试一些C#教程来帮助你。
答案 2 :(得分:-1)
您似乎没有一般的方法经验。
首先,我建议您查看官方C#文档中的方法: https://msdn.microsoft.com/en-us/library/vstudio/ms173114(v=vs.100).aspx
例如,您的方法GetPosNonZeroDouble()
不返回任何内容,但您尝试返回值为return x;
的值(最终会出现编译错误)。