人。 我需要生成具有完全一致性的二维数组,例如:
1 3 2 3 4 6 4 3 2 4
,即邻居之间差别不大。
1 2 1
2 3 2
3 4 2
我怎么能意识到这一点?
答案 0 :(得分:1)
此Java示例适用于1到6之间的数字:
int[][] myArray = new int[3][];
for (int a = 0; a < 3; a++) {
myArray[a] = new int[3];
for (int b = 0; b < 3; b++) {
myArray[a][b] = ((int)(Math.random() * 6) + 1);
}
}
答案 1 :(得分:0)
嗨,如果你想要一点点差异(1行元素之间的差异只有1到3)。 即 1 2 1 2 4 6 1 3 4 等等 我认为这将是更好的解决方案。
int[][] myArray = new int[3][];
for (int a = 0; a < 3; a++) {
myArray[a] = new int[3];
int random=(int)Math.random() * 10;
for (int b = 0; b < 3; b++) {
int negativecounter=(int)Math.random()*2;
/*multiplier will decide next number smaller or bigger randomly*/
int multiplier=1;
if(negativecounter%2==0){
multiplier=-1;
}
myArray[a][b] = (random +(multiplier) (Math.random()*2 +1));
}
}
如果您需要任何澄清,请告诉我