C#方法声明

时间:2015-10-26 23:52:48

标签: c# methods console

 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以及如何通过输入模块来显示。 请帮助我,因为我找不到解决问题的方法。

3 个答案:

答案 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;的值(最终会出现编译错误)。