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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

题目:
   编写程序,生成5110之间的随机整数,存入一个List集合,
   编写方法对List集合进行排序(自定义排序算法,禁用Collections.sort
   方法和TreeSet),然后遍历集合输出。
思路:
   1、用Mathrandom()方法生成五个随机整数
   2、用ArrayList集合存储随机数
   3、遍历ArrayList集合并对其排序
   4、遍历输出
import java.util.ArrayList;
class Test
{
   public static void main(String[] args)
   {
      //创建ArrayList集合
      ArrayList<Integer>list = newArrayList<Integer>();
      //用循环的方式,生成五个随机整数并存入ArrayList集合中
      for(int i = 0; i < 5; i ++)
      {
          //生成随机整数
          int  rand = (int)(Math.random() * 10 ) + 1;
          //List集合添加元素
          list.add(rand);
      }
      //冒泡排序,外层控制对比次数
      for(int i = 0; i <list.size() - 1; i ++)
      {
          //内存控制比较过程
          for(int k = 0;k <list.size() - i - 1; k ++)
          {
             //调整顺序
             if(list.get(k) >list.get(k+1))
             {
                int max = list.get(k);
                list.set(k ,list.get(k + 1));
                list.set(k + 1 ,max);
             }
          }
      }
      //遍历集合
      for(int i = 0; i <list.size(); i ++)
      {
          System.out.println(list.get(i));
      }
   }
}

5 个回复

正序浏览
好吧 大家理解一下我写错了
回复 使用道具 举报
Hi.。 发表于 2015-12-22 14:25
我意思是,这题应该在添加数据时候,判断是否存在,如果存在了就不添加。
而不是直接for(int x=0;x ...

不好意思 看错意思了   他这个集合类用错了
回复 使用道具 举报
zhauibuzhai 发表于 2015-12-22 11:59
ArrayList 不去重   但这题真没用到递归..

我意思是,这题应该在添加数据时候,判断是否存在,如果存在了就不添加。
而不是直接for(int x=0;x<5;x++){ ... }这样直接添加5个随机数。
回复 使用道具 举报
Hi.。 发表于 2015-12-22 11:09
这个题哪里用到了递归?而且,这个题添加数据时,应该去重把

ArrayList 不去重   但这题真没用到递归..
回复 使用道具 举报
这个题哪里用到了递归?而且,这个题添加数据时,应该去重把
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马