黑马程序员技术交流社区

标题: 方法 [打印本页]

作者: 许万里    时间: 2013-3-3 14:55
标题: 方法
在一个方法中 我们能不能调用多个方法来组成一个新的方法呢
作者: 彭思    时间: 2013-3-3 15:08
应该可以吧,应该可以通过调用多个方法来组成一个新的方法,调用新方法将不同的方法同时实现。
作者: 许正龙    时间: 2013-3-3 15:21
本帖最后由 许正龙 于 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;
        }

作者: 岳珅    时间: 2013-3-3 16:12
这个必须可以的0.0方法、类、结构都是可以嵌套使用的0.0
作者: 夏振博    时间: 2013-3-3 16:24
一个类中的功能,能封装成一个方法最好封装起来,这样提高了复用性,比如一个遍历数组的代码,不封装的话,每次遍历数组都要写代码,当这个功能封装起来后就不用重复写代码了,调用这个方法就可以了,这样就可以看出来,只写了一次遍历数组的代码,可以多次使用,
方法其实就是实现某个功能嘛
作者: 黑马-杨鹏立    时间: 2013-3-3 16:27
一定可以的,不过要注意你的调用,方法是否是static,静态类中写非静态类调用一定不能成功。。。注意类的类型和是否是静态类就不会出问题了。
作者: 江夷    时间: 2013-3-3 18:48
          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方法,然又在主函数中被调用的

作者: 李拴同    时间: 2013-3-3 21:30
可以的  有的方法可以有多个可变参数,参数还可以是方法 就是这个道理吧




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2