加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

c#编程练习13:方法method的定义和调用

(2020-02-18 09:45:39)
标签:

c

类的调用

类的定义

method

分类: 计算机
c#的方法method是把一堆相关的语句组织在一起,用来执行一个任务的语句块。每一个 C# 程序至少有一个带有 Main 方法的类,要使用一个方法method,需要先定义方法,然后调用方法。
定义一个method,包含以下内容:
<访问修饰符> <返回值类型> <方法名称> <参数列表>
{
      内部语句;
}
访问修饰符,这个决定了对于另一个类的可见性;
返回类型,一个方法可以返回一个值。返回类型是方法返回的值的数据类型。如果方法不返回任何值,则返回类型为 void,参考前面练习中的main方法。
方法名称,是一个唯一的标识符,且是大小写敏感的。它不能与类中声明的其他标识符相同。
参数列表,使用圆括号括起来,该参数是用来传递和接收方法的数据。参数列表是指方法的参数类型、顺序和数量。参数是可选的,也就是说,一个方法可能不包含参数。
内部语句,包含了完成任务所需的指令集。
 
 
新建一个c#项目,写入以下语句:
using System;
namespace 方法练习
{
    class methodtest //定义一个类,旗下定义几个方法,用于计算阶乘、排列、组合
    {public int permutation(int a,int b)//定义一个排列计算方法permutation,用于计算从a中选b的排列计算结果
        {
            int result=1; //声明内部变量
            methodtest m = new methodtest();//将类class_permutation实例化,然后就可以调用这个实例下面的方法了
            result = m.factorial(a) / m.factorial(a - b);
            return result;
        }
        public int factorial(int c) //定义一个阶乘方法factorial,用于计算阶乘
        {
            int result=1;
            while(c>1)
            {
                result *= c;
                c--;
            }
            return result;
        }
        public int combination(int a,int b)//定义一个组合计算方法combination
        {
            int result=1;
            if (a < b || a < 0 || b < 0) Console.WriteLine("参数错误!");
            else
            {
                methodtest m= new methodtest();//将类class_permutation实例化,然后就可以调用这个实例下面的方法了
                result = m.factorial(a) / m.factorial(b) / m.factorial(a - b);
               
            }
            return result;
        }
        static void Main(string[] args)
        {
            methodtest m = new methodtest();
            int c, d;
            Console.WriteLine("计算从c中选d的排列数量");
            Console.WriteLine("请输入c的数值");
            c =Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入d的数值");
            d = Convert.ToInt32(Console.ReadLine());
            if (c < d || c < 0 || d < 0) Console.WriteLine("参数错误!");
            else
            {
                Console.WriteLine("从3中选2的排列是:{0}", m.permutation(c, d));
                Console.WriteLine("从3中选2的组合是:{0}", m.combination(c, d));
                      
        }
    }
}
这个程序中定义了一个类method,类下面定义了四个方法:
permutation  用于排列计算
factorial  用于阶乘计算
combination   用于组合计算
main   程序的入口
 
 
 
permutation  方法定义如下:
public int permutation(int a,int b)//定义一个排列计算方法permutation,用于计算从a中选b的排列计算结果
        {
            int result=1; //声明内部变量
            methodtest m = new methodtest();//将类class_permutation实例化,然后就可以调用这个实例下面的方法了
            result = m.factorial(a) / m.factorial(a - b);
            return result;
        }
首先访问修饰符public表示这是一个共有的方法,其他方法可以调用它。int表示返回值是整数类型,permutation是方法的名称,后面括号内a和b是两个整型参数,用于传递变量。
后面的语句中,先定义了一个整型变量result,赋初值1,这个变量作为permutation方法的返回值。
接下来将类methodtest 实例化,定义了一个名字叫做m的methodtest实例;然后让返回值result等于实例m的factorial方法综合计算。因为上述四个方法都属于methodtest类,那么实例m也可以继承这些类,通过类实例.方法(参数表)来调用。最后计算完毕,将result数据作为返回值。
其他类的使用也是类似的。最后的main类,通过接受用户输入,调用排列组合计算的类来计算数值,排列组合计算类又调用了阶乘计算类,算是类嵌套调用。
 
 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有