黑马程序员技术交流社区
标题:
获得不重复的随机数
[打印本页]
作者:
老衲玩IT
时间:
2013-8-27 08:32
标题:
获得不重复的随机数
package com.itheima;
import java.util.Random;
/**
* 获取10个1至20的随机数,不重复。
* @author Administrator
*/
public class Test {
public static void main(String[] args) {
int[] nums=new int[10];
Random random=new Random();
//初始化数组
for (int i = 0; i < nums.length; i++) {
nums[i]=0;
}
//标记是否重复
boolean isReshow;
//存储随机产生的数字
int rnd;
for (int i = 0; i < nums.length; i++) {
do {
isReshow = false;
//随机产生1-20的数字
rnd = random.nextInt(20) + 1;
for (int j = 0; j < i; j++) {
//判断是否与前面的元素重复
if (rnd == nums[j]) {
isReshow = true;
break;
}
}
//如果不重复,对指定下标的元素赋值
if (!isReshow) {
nums[i]=rnd;
}
} while (isReshow);//当数字不重复时跳出循环
}
//输出数组
for (int i = 0; i < nums.length; i++) {
System.out.println(nums[i]);
}
}
}
作者:
jingzhouheima
时间:
2013-8-27 11:50
你如果把产生的随机数放在Hashset集合里,,代码岂不更优!!
作者:
老衲玩IT
时间:
2013-8-27 18:10
jingzhouheima 发表于 2013-8-27 11:50
你如果把产生的随机数放在Hashset集合里,,代码岂不更优!!
对哟,只要判定这个集合size
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2