我正在做一个随机数(猜猜游戏),并且已经提出了ff。码,以产生10的一个或两个数字的数字(1或10到40):创建独特的随机数
public void generate()
{
for(int i=0; i<=1; i++)
{
for(int l=0; l<10; l++)
{
Random rdm=new Random();
arr[l] = rdm.nextInt(range)+1;
}
}
}
然而,这种代码只答案来生成10个随机的一个或两个数字的需要。我需要让这个程序生成唯一的随机数。我怎样才能做到这一点?
抱歉更新晚了......我想与这个节目做的是,如果该数组包含重复的,重复的将具有独特的一个替代...
===== =========解决================
新的问题:
HashSet set=new HashSet();
Random random=new Random();
while(set.Size()<10)
{
set.add(random.nextInt(range)+1);
}
lbtest.setText(set.toString());
bgen.setEnabled(false);
gametext.setText("");
按照要求通过ggrigery:
这里的更新后的代码参照ggrigery的建议。
例如,您可以使用一个结构“ArrayList”来存储先前生成的数字,然后检查新数字是否在该列表中。 – twain249 2012-03-13 14:07:47
另请参见[这个问题](http://stackoverflow.com/questions/4410225/creating-unique-random-numbers),它有一个几乎工作的实现。 – Ryan 2012-03-13 14:14:10
“ff。code”?那是什么? – Paul 2012-03-13 14:51:05