Java 从数组中选择一个随机值
我有一个数值数组,我想从该数组中随机选择一个值,然后将其插入到Java 从数组中选择一个随机值,java,arrays,random,Java,Arrays,Random,我有一个数值数组,我想从该数组中随机选择一个值,然后将其插入到int变量中 我不确定你需要看什么代码。所以 下面是我用来生成13个数字(1-13)并将它们插入数组的for循环 int clubsArray []; clubsArray = new int [13]; for(int i = 0; i < clubsArray.length; i++) { clubsArray[i] = i +1; } int clubsArr
int
变量中
我不确定你需要看什么代码。所以
下面是我用来生成13个数字(1-13)并将它们插入数组的for
循环
int clubsArray [];
clubsArray = new int [13];
for(int i = 0; i < clubsArray.length; i++) {
clubsArray[i] = i +1;
}
int clubsArray[];
clubsArray=新整数[13];
对于(int i=0;i
这很好,但现在我需要从该数组中选择2个随机值(然后将其插入到一个变量中以供以后使用)
我浏览了很多网站,看到了类似于
ArrayList
的东西,可以将值插入数组,然后使用Random generator=new Random()
从数组中选择值,然后删除()
将其从数组中删除。但当我使用过它时,它不起作用。只要clubsArray[new Random().nextInt(clubsArray.length)]
就可以了
或者使用
List clubsList=Arrays.asList(clubsrray);Collections.shuffle(clubsList);
将元素的顺序随机化,而不是将其“插入”到一个int变量中,而是将其“赋值”到:)可能重复的谢谢。如果我要使用它,我是否也应该将其从阵列中删除?(为了防止在后期选择重复项)@Craig:删除数组中的元素是O(n),所以这可能不是您想要做的。也许你想先洗牌整个阵列?(就像一副扑克牌一样)可能是如何在CWell中执行,或者检查输出数组是否已经有了它,如果有,则选择另一个。