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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 花陌相惜 中级黑马   /  2016-8-2 21:41  /  579 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

分析以下需求,并用代码实现:
         (1)编写一个泛形方法,实现指定位置数组元素的交换
        (2)编写一个泛形方法,接收一个任意数组,并反转数组中的所有元素
import java.util.Arrays;
public class Demo04 {
        public static void main(String[] args) {
                String[] strArr = new String[] { "刘德华", "胡歌", "霍建华", "张杰", "李晨" };
                method(3,4,strArr);
                System.out.println(Arrays.toString(strArr));
                // 泛型只能操作引用数据类型
                fanZhuan(strArr);
                System.out.println(Arrays.toString(strArr));
                System.out.println("==============");
                fanZhuan1(strArr);
                for (String string : strArr) {
                        System.out.print(string + " ");

                }

        }

        // 组内元素交换
        public static <T> void method(int a, int b, T[] t) {
                T y = t[a];
                t[a] = t[b];
                t[b] = y;

        }

        // 组内元素反转
        // 第一种反转方法t[0]=t[ t.length - 1-0] t[1]=t[ t.length - 1-1]
        public static <T> void fanZhuan(T[] t) {
                for (int i = 0; i < t.length / 2; i++) {
                        method(i, t.length - 1 - i, t);
                }
        }

        // 第二种反转方法
        public static <T> void fanZhuan1(T[] t) {
                for (int start = 0, end = t.length - 1; start <= end; start++, end--) {
                        T n = t[start];
                        t[start] = t[end];
                        t[end] = n;
                }
        }

}

        }

}

1 个回复

倒序浏览
美女好厉害!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马