首先是这样子的,我们作业时是一个打地鼠的小程序,模拟地鼠出现的样子。
我是先设定一个4x4的数组Array[4][4],数组默认值全部设定为0.
然后设定两个随机变量row和col,范围都在0-3之间
然后把Array[row][col]的值从设定为1,以表示地鼠出现的位置。
那接下来就是我想要问的地方;
如何把出现过的位置舍弃,就是希望接下来随机的row和col不要再重复出现同样的数字?
下面是代码片段
int i = new Random().nextInt(4);
int j = new Random().nextInt(4);
GameArray[i][j] = 1; //Susliks appears
。
。
。
for (int index = 0; index < 4; index++){
for (int index2 = 0; index2 < 4; index2++){
if ( GameArray[index][index2] == 1){
System.out.print("o ");
}else{
System.out.print("x ");
}
}
times++;
System.out.println();
}
因为要求是所有的位置都出现过1就结束程序。而我这样子每次循环都要上百次才能结束,所以我想问有没有什么办法可以控制循环次数在一定的范围内?比方说就是已经出现过的数组索引值就不再使用(比如说GameArray[3][3] = 1,那么接下来希望的随机不要再出现[3][3]这样子,如果出现了就跳出index的 for循环体,重新下一次随机)有没有什么办法可以实现?我刚接触java的,好多都还不清楚