黑马程序员技术交流社区
标题:
生成10个1到100之间的随机数,添加到AllayList集合里,数不重复
[打印本页]
作者:
junfeng
时间:
2015-9-12 23:54
标题:
生成10个1到100之间的随机数,添加到AllayList集合里,数不重复
生成10个1到100之间的随机数,添加到AllayList集合里,数不能重复,用循环. 想了很久,卡在不重复上面了
作者:
菊花爆满山
时间:
2015-9-12 23:54
/*
需求:生成10个1到100之间的随机数,添加到AllayList集合里,数不能重复,用循环.
*/
import java.util.*;
class ArrayListDemo
{
public static void main(String[] args)
{
ArrayList<Integer> al = new ArrayList<Integer>();
Random r = new Random();
for(int x=0; x<10; x++)
{
int num = r.nextInt(100)+1;
if(!al.contains(num))
al.add(num);
}
for(Integer a : al)
{
System.out.println(a);
}
}
}
复制代码
作者:
junfeng
时间:
2015-9-12 23:55
ArrayList集合里 ,打错了
作者:
丶不缺小哥范儿
时间:
2015-9-13 00:47
赞~~~~~~~~~~~~~~~~~
作者:
sunsteam
时间:
2015-9-13 00:56
本帖最后由 sunsteam 于 2015-9-13 01:46 编辑
看你存的是什么对象 主要靠重写equals方法来做判断的 推荐存字符串 不用重写 集合对象.contains(String.valueOf(随机数))就能判断了
作者:
比特
时间:
2015-9-13 01:17
二楼说得对!
作者:
heshiwei
时间:
2015-9-13 17:57
说一下思路吧:添加ArrayList之前,先使用contain方法检查是否已经存在该数。
若存在则continue,生成下一个随机数再添加。如此循环!
作者:
liudongcan
时间:
2015-9-13 22:57
发下我的答案把
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Random;
public class RandomDemo {
public static void main(String[] args) {
// 生成10 个1-100个不重复的随机数保存在ArrayList集合里面
ArrayList al = new ArrayList();
Random r = new Random();
while (al.size() < 10) {
int i = r.nextInt(100) + 1;
if (!al.contains(i)) {
al.add(i);
}
}
Iterator i = al.iterator();
while (i.hasNext()) {
System.out.print(i.next() + ", ");// 39, 53, 52, 86, 96, 79, 37, 43,94, 38,
}
}
}
复制代码
作者:
shike951128
时间:
2015-9-18 22:06
作者:
阿杜
时间:
2016-5-4 00:10
for (int i = 0; i < 10; i++) {
int a = (int)(Math.random() * 100) + 1;
if(!list.contains(args)) {
list.add(a);
}
输出结果: [79, 68, 6, 22, 1, 15, 69, 22, 64, 38] 有重符的啊
作者:
wanli316644570
时间:
2016-5-4 00:17
厉害 666
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2