1

这是我用来生成一组随机数字的代码:

...
        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+ 不支持随机类,或者我的实现发生了其他奇怪的事情。这种方法在早期版本上工作得很好,所以我不确定发生了什么。

如果有人对此的替代实现有建议(我需要在2and rowsor之间生成随机整数columns)。

4

1 回答 1

1

如果有人对此的替代实现有建议(我需要在 2 和行或列之间生成随机整数)。

是的,非常简单:

int randomRow = randomGen.nextInt(rows - 2) + 2;
int randomCol = randomGen.nextInt(columns - 2) + 2;
于 2013-02-19T23:12:05.610 回答