在java中怎么产生不重复的随机数,用for写出

如题所述

//楼上那个没看懂事个啥
//大概思路是产生随机数,然后将随机数放到Set里面,set大小为你要产生的大小的时候,停止产生,下面是具体代码
import java.util.HashSet;
import java.util.Iterator;
import java.util.Random;
import java.util.Set;

public class TestRandomNumber{

public static void main(String[] args) {
Set<Integer> set =new HashSet<Integer>();//定义一个set。
Random r=new Random();//定义一个产生随机数的实体对象;
while (set.size()<10) {//如果set大小小于10个的时候继续循环:因为set是无序唯一的;
int r_number=r.nextInt(100);// 产生0到99的整形数据
set.add(r_number);
}
/**
 * 下面是遍历出产生的随机数
 */
Iterator<Integer> it=set.iterator();//迭代器
while (it.hasNext()) {
System.out.println(it.next());//取出数据

}

}
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-04-01
import java.util.Random;

public class RandomIntegers
{
public static void main(String[] args)
{
int num;
for(int i=0;i<=100;i++)
{
num=1+randomnumbers.nextInt(100);//随机输出1~100中的任意整数
System.out.printf("%d",num);
}
}
}
手打,没有调试,可能会有错误,你自己试试,大体思路就是用Random函数输出随机数
哦,错了,是要不重复的吧,额,我想的是建一个数组,把每次生成的数依次存进去然后每生成一个新数再与之前的比较。。。好像太麻烦了额,同是初学者,见谅追问

没看懂,这才几个随机数?

追答

for(int i=0;i<=100;i++)//改变i的值即可改变生成随机数的数量;
num=1+randomnumbers.nextInt(100);//随机输出1~100中的任意整数//改变这句则可以改变生成的随机数的范围

追问

哦哦。谢了

本回答被提问者采纳
相似回答