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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Tang不知 中级黑马   /  2016-1-18 01:10  /  476 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package 自测练习;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class Test17 {

        /**
         * 编写程序,生成5个不同的1至10之间的随机整数,存入一个List集合,编写方法对List集合进行排序
         * (自定义排序算法,禁用Collections.sort方法和TreeSet),然后遍历集合输出。
         */
        public static void main(String[] args) {
                Random random = new Random();// 构造随机数
                List<Integer> list = new ArrayList<>();// 创建list集合
                while (list.size() < 5) {// 循环条件:list的元素小于5
                        int i = random.nextInt(10) + 1;// 产生1-10之间的随机数
                        if (!list.contains(i)) {// 当list中不包含随机整数时
                                list.add(i);// 把随机整数添加到集合list中
                        }
                }
                // System.out.println(list);
                int[] arr = getArray(list);
                sortArray(arr);
                printArray(arr);
        }

        // 遍历数组
        private static void printArray(int[] arr) {
                for (int i = 0; i < arr.length; i++) {
                        System.out.println(arr[i]);
                }
        }

        // 拿到集合中的每一个元素,并把他们对应的放到数组arr中,并返回该数组
        private static int[] getArray(List<Integer> list) {
                int[] arr = new int[list.size()];
                for (int i = 0; i < arr.length; i++) {
                        arr[i] = list.get(i);
                }
                return arr;
        }

        // 冒泡法排序
        private static void sortArray(int[] arr) {
                for (int i = 0; i < arr.length - 1; i++) {
                        for (int j = 0; j < arr.length - 1 - i; j++) {
                                if (arr[j] > arr[j + 1]) {
                                        int temp = arr[j];
                                        arr[j] = arr[j + 1];
                                        arr[j + 1] = temp;
                                }
                        }
                }
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马