将简单代码重构为4个函数并向main()请求返回值

-4 c# function

我可以使用下面的代码重构为4个函数(即正方形区域,rt三角形周长,正方形区域和正方形周长),并要求至少1个函数将值返回给Main()?如果是,任何人都可以给我一个如何做的暗示吗?我正在学习C#并且尝试在过去三天内完成它但是失败了.

class Program
{
    static void Main(string[] args)
    {
        double tribase = 9;
        double triwidth = 6;
        double trihypotenuse = Math.Sqrt((tribase * tribase) + (triwidth * triwidth));
        double triarea = 0.5 * (tribase * triwidth);
        double triperimeter = tribase + triwidth + trihypotenuse;
        Console.WriteLine("Area of right triangle = {0}\nPerimeter of rigth triangle = {1}\n", triarea, triperimeter);

        double squareside = 8;
        double squarearea = squareside * squareside;
        double squareperimeter = 4 * squareside;
        Console.WriteLine("Area of square = {0}\nPerimeter of square = {1}\n",  squarearea, squareperimeter);
    }
}
Run Code Online (Sandbox Code Playgroud)

Dan*_*ker 7

C#中的基本功能是这样写的:

static ReturnType Name(ParamType1 paramname1, ParamType2 paramname2)
{
    // Code
    return someValue;
}
Run Code Online (Sandbox Code Playgroud)

ReturnType返回值的类型在哪里(例如,double在您的情况下),Name是函数的名称(例如GetSquareArea),ParamTypeN是函数的参数类型,并且paramnameN是该参数的名称.最后代替someValue你将使用一个表达式或变量与你想要返回的值.

由于我怀疑这是一个家庭作业,我只会做一个方形函数的区域.你必须从那里做其他三个.

static double GetSquareArea(double side)
{
    double area = side * side;
    return area;
}
Run Code Online (Sandbox Code Playgroud)

并在现有代码中使用它:

double squarearea = GetSquareArea(squareside);
Run Code Online (Sandbox Code Playgroud)

请注意您必须如何为side参数提供值.在这种情况下,值来自squareside变量.并注意函数的结果如何存储在squarearea变量中.


为了给您一个概述,这就是您的代码在其中使用该函数的样子.现在你添加其他三个.

class Program
{
    static void Main(string[] args)
    {
        double tribase = 9;
        double triwidth = 6;
        double trihypotenuse = Math.Sqrt((tribase * tribase) + (triwidth * triwidth));
        double triarea = 0.5 * (tribase * triwidth);
        double triperimeter = tribase + triwidth + trihypotenuse;
        Console.WriteLine("Area of right triangle = {0}\nPerimeter of rigth triangle = {1}\n", triarea, triperimeter);

        double squareside = 8;
        double squarearea = GetSquareArea(squareside);  // <--
        double squareperimeter = 4 * squareside;
        Console.WriteLine("Area of square = {0}\nPerimeter of square = {1}\n",  squarearea, squareperimeter);
    }

    static double GetSquareArea(double side)
    {
        double area = side * side;
        return area;
    }
}
Run Code Online (Sandbox Code Playgroud)

  • +1没有勺子喂食的菜鸟的答案 (4认同)