gpt4 book ai didi

java - 将前几个元素分组在一起

转载 作者:行者123 更新时间:2023-12-02 04:54:20 26 4
gpt4 key购买 nike

我的以下代码对数组进行随机化,但是,我想知道是否要始终将前两个或三个元素分组在一起,我应该如何进行?

ArrayList<Integer> numbers = new ArrayList<Integer>();

for(int i=1;i<=11;i++)
{
numbers.add(i);
}
Collections.shuffle(numbers);


for (Integer nums : numbers)
System.out.println(nums);

输出示例:5、7、4、11、2、3、1、9、6、8、10(请注意,序列“1,2,3”在主数组中是随机的。)

最佳答案

可能是这样的:

final int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
final int iterations = 10;
final int groupOf = 3;

for (int i = 0; i < array.length; i += groupOf) {
int groupOfRemainder = array.length - i < groupOf ? array.length - i : groupOf;
for (int j = 0; j < iterations; j++) {
int rnd1 = Math.random() * groupOfRemainder;
int rnd2 = Math.random() * groupOfRemainder;

Object temp = array[i + rnd1];
array[i + rnd1] = array[i + rnd2];
array[i + rnd2] = temp;
}
}

关于java - 将前几个元素分组在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28922734/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com