美文网首页C#学习的心得笔记
入口参数过多时的method求解

入口参数过多时的method求解

作者: 北欧的蓝天 | 来源:发表于2019-10-06 02:00 被阅读0次

只有三个入口参数还可以通过唯一一个method,输入所有入口参数,如下例:

static bool IsTeenager(int age, int minAge, int maxAge)

        {

            bool teenager = (age > minAge && (age < maxAge));

            return teenager;

        }

可是如果入口参数很多很多,像下面这个标准模型里的拉格朗日量方程,就无法用上面的方式求解。

当入口参数过多时,对于新手可行的解决方式如下:

e.g. f(x,y,z,w) = ax + by + cz + dw (a,b,c,d都是常数,x,y,z,w都是变量)

class Calculate

    {

static private double x; // 将所有的入口参数都创建为Class Calculate的静态变量,开机既有

        static private double y;

        static private double z;

        static private double w;

/* 为所有入口参数,逐个建立Set赋值方法,都是静态的以便于后面的Main调用,只赋值不用返回值。所以是Void的。CalculateF() 里的参数是空的,具体获取了什么结果,由body内部的公式和参数来决定。*/

public static void SetX(double x_)

        {

            x = x_;

        }

        public static void SetY(double y_)

        {

            y = y_;

        }

        public static void SetZ(double z_)

        {

            z = z_;

        }

        public static void SetW(double w_)

        {

            w = w_;

        }

public static double CalculateF() 

        {

            int a = 10;

            int b = 14;

            int c = 8;

            int d = 7;

            double result = a*x + b*y +c*z + d*w;

            return result;

        }

/* 通过这种方法,不仅可以解决入口参数过多的问题,还可以使公式的设置具有灵活性。因为内部所用到的参数和公式都可以改变。如下例*/

public static double CalculateG()

        {

            int a = 10;

            int b = 14;

double result = a * x - b * y;

            return result;

        }

/* 在主程序中调用Set方法,并打印输出*/

  static void Main(string[] args)  

        {

            SetX(12.02);

            SetY(10.5);

            SetZ(11.8);

            SetW(8.8);

            Console.WriteLine(CalculateF());

            Console.WriteLine(CalculateG());

            Console.ReadKey();

        }

可是,开过多的静态空间,会导致程序占用内存过多,其实也可以通过实例化Class的方式来解决。

步骤:

1)创建一个Class,在Class里写入一些public的方法

2)在Main主程序中,实例化这个Class,为instance

3)通过这个实例可以调用Class里的方法。

4)在入口参数里赋值。注意:入口参数,要与之前定义的方法相匹配,不然会报错。

instance.methodsOfClass()

程序如下:

/* 创建一个含有变量x,y,z,w的Class,叫Cal,将变量都封装为private*/

class Cal                   

    {

        private double x;

        private double y;

        private double z;

        private double w;

/* 为每一个变量创建Setter,属性为public*/

        public void SetX(double x_)

        {

            x = x_;

        }

        public void SetY(double y_)

        {

            y = y_;

        }

        public void SetZ(double z_)

        {

            z = z_;

        }

        public void SetW(double w_)

        {

            w = w_;

        }

/* 创建一个method,属性为public*/

        public double CalculateF()

        {

            int a = 10;

            int b = 14;

            int c = 8;

            int d = 7;

            double result = a * x + b * y + c * z + d * w;

            return result;

        }

/* 虽然上述methods都不是静态的,也能通过实例化Class Cal的方式来调用Cal里的方法。*/

static void Main(string[] args)

        {

            Cal firstCal = new Cal();

            firstCal.SetX(10.5);

            firstCal.SetY(12.3);

            firstCal.SetZ(9.8);

            firstCal.SetW(7.2);               

            Console.WriteLine(firstCal.CalculateF());

            Console.ReadKey();

        }

相关文章

  • 入口参数过多时的method求解

    只有三个入口参数还可以通过唯一一个method,输入所有入口参数,如下例: static bool IsTeena...

  • 迷宫问题

    method1 递归求解 method2 队列法 method3 栈和回溯法 有错误

  • 统计基础15:最大似然法估计二项式分布参数

    前面我们学习了解了最大似然法求解正态分布参数,求解指数分布参数。今天我们再来看看最大似然法如何求解二项式分布参数。...

  • 2020-01-16

    机器学习概念统计学样本 —— 数据集待求解方程(待求解方程中的未知数为参数) —— 预训练模型求解参数后的N元方程...

  • flink配置

    脚本 -c,--class 程序的入口(main method or getplan...

  • sign生成方式

    签名生成所需参数: app_secret,'app_key',app_key值,'method',method值,...

  • 参数求解与参数估计的关系

    这个关系实际上涉及高等数学与概率统计两个学科知识的对比 参数求解对应于普通方程的参数求解(根) 参数估计对应于概率...

  • 求解:Invocation of init method fai

    今天在修改Controller的类名之后出现了个令我十分费解的有关tomcat问题。 出现问题的过程:我先是在我的...

  • remote-method 自定义参数

    :remote-method="(query)=>{remoteMethod(query,'自定义参数')}"

  • 岭回归及其实例

    对于一般地线性回归问题,参数的求解采用的是最小二乘法,其目标函数如下: 参数w的求解,也可以使用如下矩阵方法进行:...

网友评论

    本文标题:入口参数过多时的method求解

    本文链接:https://www.haomeiwen.com/subject/rsnypctx.html