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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

编写程序,生成5个1至10之间的随机整数,存入一个List集合,编写方法对List集合进行排序(自定义排序算法,禁用Collections.sort方法和TreeSet),然后遍历集合输出

8 个回复

倒序浏览
package org.pie.audition;

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

public class Test29_List集合_1到10随机数排序 {

        /**
         * 29.编写程序,生成5个1至10之间的随机整数,存入一个List集合,
         * 编写方法对List集合进行排序(自定义排序算法,禁用Collections.sort方法和TreeSet),然后遍历集合输出
         */
        public static void main(String[] args) {
                List<Integer> list = new ArrayList<Integer>();
                Random rd =new Random();
                while(list.size() < 5) {
                        list.add(rd.nextInt(10) + 1);
                }
                sortArray(list);
                for (Integer i : list) {
                        System.out.println(i);
                }
        }

        public static void sortArray(List<Integer> list) {
                for (int i = 0; i < list.size() - 1; i++) {
                        for (int j = 0; j < list.size() - 1 - i; j++) {
                                int a = list.get(j);
                                int b = list.get(j + 1);
                                if (a > b) {
                                        list.set(j, b);
                                        list.set(j + 1, a);
                                }
                        }
                }
        }
}
回复 使用道具 举报
楼上+1,可以的你学到day几了
回复 使用道具 举报
(⊙o⊙)…
回复 使用道具 举报
(⊙o⊙)…
回复 使用道具 举报
(⊙o⊙)…
回复 使用道具 举报
babysa 中级黑马 2016-9-27 13:04:39
7#
看底下都有贴代码出来了   说一下解题思路吧   定义一个集合list   for循环生成5个随机数new  Random().nextInt()  并list.add()方法添加到集合
回复 使用道具 举报
babysa 中级黑马 2016-9-27 13:06:26
8#
babysa 发表于 2016-9-27 13:04
看底下都有贴代码出来了   说一下解题思路吧   定义一个集合list   for循环生成5个随机数new  Random().nex ...

添加完毕后可打印集合看看是否添加成功    排序的话  自己写个冒泡就可以   能用快排就再好不过了
回复 使用道具 举报
bopeia 中级黑马 2016-9-27 13:13:52
9#
。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马