A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 许万里 中级黑马   /  2013-3-3 14:55  /  1856 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在一个方法中 我们能不能调用多个方法来组成一个新的方法呢

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

7 个回复

倒序浏览
应该可以吧,应该可以通过调用多个方法来组成一个新的方法,调用新方法将不同的方法同时实现。

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 许正龙 于 2013-3-3 15:22 编辑

可以的
static void Main(string[] args)
        {
            int[] numbers = { 1, 2, 3, 4, 5, 6, 7 };
            MyWrite(numbers);
            Console.ReadKey();

        }
        public static void MyWrite(int[] values)//定义打印的方法
        {
            Console.WriteLine("数组的和是:{0},最大值是{1}",Sum(values),Max(values));//输出时调用两个其他方法
        }
        public static int Sum(int[] values)//定义求和的方法
        {
            int sum = 0;
            for (int i = 0; i < values.Length; i++)
            {
                sum += values;
            }
            return sum;
        }
        public static int Max(int[] values)//定义求最大值的方法
        {
            int max = values[1];
            for (int i = 1; i < values.Length; i++)
            {
                if (max < values)
                {
                    max = values;
                }
            }
            return max;
        }

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
这个必须可以的0.0方法、类、结构都是可以嵌套使用的0.0
回复 使用道具 举报
一个类中的功能,能封装成一个方法最好封装起来,这样提高了复用性,比如一个遍历数组的代码,不封装的话,每次遍历数组都要写代码,当这个功能封装起来后就不用重复写代码了,调用这个方法就可以了,这样就可以看出来,只写了一次遍历数组的代码,可以多次使用,
方法其实就是实现某个功能嘛

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
一定可以的,不过要注意你的调用,方法是否是static,静态类中写非静态类调用一定不能成功。。。注意类的类型和是否是静态类就不会出问题了。
回复 使用道具 举报
          static void Main(string[] args)
        {
            int[] arr = { 3, 15, 6, 7, 19, 0, 5, 23, 8, 35 };
            Writearr(arr);
            Bubblesort(arr);
            Writearr(arr);
            Console.ReadKey();
        }
        public static void Bubblesort(int[] arr)
        {
            for (int x = 0; x < arr.Length; x++)
            {
                for (int y = 0; y < arr.Length - x - 1; y++)//-x:让每一次比较的元素减少,-1:避免角标越界
                {
                    if (arr[y] > arr[y + 1])//当定义为“<”时,最小值在左边,当为">"时,最小值在右边
                    {
                        swap(arr, y, y + 1);
                    }
                }
            }
        }
        public static void Writearr(int[] arr)
        {
            Console.Write("{");
            for (int z = 0; z < arr.Length; z++)
            {
                if (z == arr.Length - 1)
                    Console.Write(arr[z]);
                else
                    Console.Write(arr[z] + ",");
            }
            Console.WriteLine("}");
            
        }
        public static void swap(int[]arr,int a,int b)
        {
            int temp = arr[a];
            arr[a] = arr;
            arr = temp ;
        }
      
当然可以,上面代码中, Bubblesort方法就有调用到swap方法,然又在主函数中被调用的

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
可以的  有的方法可以有多个可变参数,参数还可以是方法 就是这个道理吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马