gpt4 book ai didi

java - 如何制作一个包含另一个数组的随机元素对的二维数组?

转载 作者:太空宇宙 更新时间:2023-11-04 09:21:42 25 4
gpt4 key购买 nike

我正在尝试制作具有配对随机元素的二维数组。例如,{{1,1,3,4},{3,1,4,1}}。对于我的项目,我将使用字符串而不是数字,因为我将创建一个配对游戏。这是我的尝试。

private String[] test = { "red", "orange", "yellow", "green", "blue", "indigo", "violet", "white" };
private final int DEFAULT_SIZE = 4;
private String[][] board = new String[DEFAULT_SIZE][DEFAULT_SIZE];
for (int i = 0; i < board.length; i++) {
for (int j = 0; j < board.length; j++) {

board[i][j] = test[rand.nextInt(7)];

}
}

这给了我一个充满数组 test 随机元素的数组。我不知道下一步该做什么我也尝试这样做,但我仍然没有得到数组元素的对。

private String[] temp = new String[DEFAULT_SIZE * 2];
temp[0] = board[0][0];
temp[1] = board[0][1];
temp[2] = board[0][2];
temp[3] = board[0][3];
temp[4] = board[1][0];
temp[5] = board[1][1];
temp[6] = board[1][2];
temp[7] = board[1][3];
for (int i = 2; i < DEFAULT_SIZE; i++) {
for (int j = 0; j < DEFAULT_SIZE; j++) {
board[i][j] = temp[rand.nextInt(7)];
}
}

这是随机的,有时我会得到数组的 3 个相同元素,这不是我想要做的。我正在尝试成对,这意味着我可以拥有偶数个相同的随机元素。感谢您的宝贵时间!

最佳答案

您正在寻找这样的东西吗?

import java.util.Random;

class RandomPairGenerator {
public static void main(String[] args) {
String[] test = { "red", "orange", "yellow", "green", "blue", "indigo", "violet", "white" };
RandomPairGenerator pairGenerator = new RandomPairGenerator();

String[][] pairs = pairGenerator.randomPairs(test, 4);

for (int i = 0; i < pairs[0].length; i++) {
System.out.println(pairs[0][i] + " " + pairs[1][i]);
}
}

String[][] randomPairs(String[] collection, int numberOfPairs) {
Random random = new Random();
String[][] pairs = new String[ 2 ][ numberOfPairs ];

for (int i = 0; i < numberOfPairs; i++) {
pairs[0][i] = collection[ random.nextInt(numberOfPairs) ];
pairs[1][i] = collection[ random.nextInt(numberOfPairs) ];
}

return pairs;
}
};

要生成二维数组,请使用源 vector 中的随机索引分配值。

关于java - 如何制作一个包含另一个数组的随机元素对的二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58251795/

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