-4

人们。我需要生成完全一致的二维数组,例如:

1 3 2 3 4 6 4 3 2 4,即邻居之间的差异很小。

1 2 1

2 3 2

3 4 2

我怎么能意识到这一点?

4

2 回答 2

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);
    }
}
于 2013-04-21T08:12:07.117 回答
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));
    }
 }

如果您需要任何澄清,请告诉我

于 2013-04-21T08:52:08.993 回答