Java中从m个数中随机选取n个不同的数(m>=n),并进行排序

来源:互联网 发布:91邀请码淘宝怎么搜 编辑:程序博客网 时间:2024/04/29 15:12

我这里直接给出我写的函数,只需传入参数便可直接使用:

//从x-y中的数中随机找出num个不同的数,返回给integer的动态数组中ArrayList<Integer> makeRandom(int x, int y, int num) {  //创建一个integer的动态数组 ArrayList<Integer> a = new ArrayList<Integer>(); int index = 0; //往数组里面逐一加取到不重复的元素 while(index < num) { //产生x-y的随机数Random r = new Random();int temp = r.nextInt(y-x)+x ;//设置是否重复的标记变量为falseboolean flag = false;for(int i =0; i<index;i++){if(temp == a.get(i)){flag = true;break;}}if(flag==false){a.add(temp);index++;}} return a; }


使用举例,并实现排序功能:

  ArrayList<Integer> a = makeRandom(10,20, 5);//在10-20中随机找5个不同的数    //将ArrayList转换为Object的普通数组并进行排序  Object[] b = a.toArray();  Arrays.sort(b);  for(int i = 0; i < b.length;i++)   {    System.out.println(b[i]);   }



0 0
原创粉丝点击