黑马程序员技术交流社区
标题: 给大家讲一个递归的案例,相信朋友们也有学过这个,就当复... [打印本页]
作者: 卞卞 时间: 2015-12-21 22:58
标题: 给大家讲一个递归的案例,相信朋友们也有学过这个,就当复...
题目:
编写程序,生成5个1至10之间的随机整数,存入一个List集合,
编写方法对List集合进行排序(自定义排序算法,禁用Collections.sort
方法和TreeSet),然后遍历集合输出。
思路:
1、用Math的random()方法生成五个随机整数
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
ArrayList 不去重 但这题真没用到递归..
作者: Hi.。 时间: 2015-12-22 14:25
我意思是,这题应该在添加数据时候,判断是否存在,如果存在了就不添加。
而不是直接for(int x=0;x<5;x++){ ... }这样直接添加5个随机数。
作者: zhauibuzhai 时间: 2015-12-22 14:57
不好意思 看错意思了 他这个集合类用错了
作者: 卞卞 时间: 2015-12-22 22:59
好吧 大家理解一下我写错了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |