这是我用来生成随机数字集的代码:
...
public boolean placeTreasure() {
randomGen = new Random();
int[] treasureLoc = {0, 0};
while (treasureLoc[0] < 2 || treasureLoc[1] < 2) {
treasureLoc[0] = randomGen.nextInt(rows - 2);
treasureLoc[1] = randomGen.nextInt(columns - 2);
System.out.println("" + treasureLoc[0] + ", " + treasureLoc[1]);
}
maze[treasureLoc[0]][treasureLoc[1]] = '*';
return true;
}
...
有趣的是,它在早期版本的Android上运行正常。据我所知,任何高于4.1的版本都无法正常运行。它不断给我成对的
0, 0
。这使我相信4.1+不支持随机类,或者我的实现中发生了其他奇怪的事情。不过,此方法在较早的版本上效果很好,因此我不确定发生了什么。如果有人对此有其他实现的建议(我需要在
2
和rows
或columns
之间生成随机整数)。 最佳答案
如果有人对此有其他实现的建议(我需要在2和行或列之间生成随机整数)。
是的,非常简单:
int randomRow = randomGen.nextInt(rows - 2) + 2;
int randomCol = randomGen.nextInt(columns - 2) + 2;