我希望为2d数组中的某个元素设置一个随机值。 在我的任务中,我必须为2d数组中的第一个元素分配一个随机数1-5,然后转到下一行并执行相同的操作。这是我到目前为止所看到的,但看起来并不正确。
double CURRENT_BOARD [5][5] = {{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0}};
public double shuffleBoard (double currentBoard) {
Random rand = new Random();
shuffledBoard [][] = new double [5][5];
for (i=0 ;i<5 ;i++) {
j = rand.nextInt(5) + 1;
shuffledBoard = shuffledBoard [j][0];
}
return shuffleBoard;
}//shuffleBoard
我的最终目标是数组的元素看起来像 {5,0,0,0,0} {3,0,0,0,0} {4,0,0,0,0}等等,只要随机选择数组的第一个元素即可。任何人都可以提供任何帮助来实现这一目标吗?
答案 0 :(得分:0)
您对2D double
数组的声明不正确。
看看this StackOverflow answer
声明应该像
double[][] CURRENT_BOARD = new double[][]{{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0}};
对于随机数部分,您可以尝试这个
public double[][] shuffleBoard(double[][] currentBoard) {
double[][] shuffledBoard = currentBoard;
Random rand = new Random();
double rangeMin = 1, rangeMax = 5;
for (int i = 0; i < 5; i++) {
double j = rangeMin + (rangeMax - rangeMin) * rand.nextDouble();
shuffledBoard[i][0] = j;
}
return shuffledBoard;
}