黑马程序员技术交流社区

标题: 给大家讲一个递归的案例,相信朋友们也有学过这个,就当复... [打印本页]

作者: 卞卞    时间: 2015-12-21 22:58
标题: 给大家讲一个递归的案例,相信朋友们也有学过这个,就当复...
题目:
   编写程序,生成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));
      }
   }
}

作者: Hi.。    时间: 2015-12-22 11:09
这个题哪里用到了递归?而且,这个题添加数据时,应该去重把
作者: zhauibuzhai    时间: 2015-12-22 11:59
Hi.。 发表于 2015-12-22 11:09
这个题哪里用到了递归?而且,这个题添加数据时,应该去重把

ArrayList 不去重   但这题真没用到递归..
作者: Hi.。    时间: 2015-12-22 14:25
zhauibuzhai 发表于 2015-12-22 11:59
ArrayList 不去重   但这题真没用到递归..

我意思是,这题应该在添加数据时候,判断是否存在,如果存在了就不添加。
而不是直接for(int x=0;x<5;x++){ ... }这样直接添加5个随机数。
作者: zhauibuzhai    时间: 2015-12-22 14:57
Hi.。 发表于 2015-12-22 14:25
我意思是,这题应该在添加数据时候,判断是否存在,如果存在了就不添加。
而不是直接for(int x=0;x ...

不好意思 看错意思了   他这个集合类用错了
作者: 卞卞    时间: 2015-12-22 22:59
好吧 大家理解一下我写错了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2