你的问题有两个:1、出现的位置不允许再出现2、当所有的位置都为1的时候,程序完成(地鼠已经去过所有的地洞,而且没有重复)。如果你的问题是这样的话,答案如下:整个的思路:有一个地鼠类,地鼠类里面有一个创造位置的方法(跑的位置),方法是这样实现的:地鼠跑到一个位置的时候,将其位置赋给burrows数组且将值赋1,如果随机产生的位置是重复的话,那么就要检查burrows数组里的值是否都为1(地鼠跑过)。当然在检查的过程中,有地鼠没有跑过的(值为0),那么就要把值赋给rowIndex和colIndex,这是整个说明。注意事项:里面安全性还需自己验证
import java.util.Random;
public class Suslik {
/**
* 随机跑到位置
* @param row 跑的范围的横坐标
* @param col 跑的范围的纵坐标
*/
public void createPosition(int row,int col){
int [][] burrows = new int[row][col];
Random creatNum = new Random();
//横坐标
int rowIndex;
//纵坐标
int colIndex;
boolean index = false;
while(!index){
rowIndex = creatNum.nextInt(row);
colIndex = creatNum.nextInt(col);
int sum = 0;
if(burrows[rowIndex][colIndex] != 0){
for(int m = 0;m
for(int n = 0;n
if(burrows[m][n] == 0){
sum = ++sum;
rowIndex = m;
colIndex = n;
break;
}
index = true;
}
if(sum !=0){
index = false;
break;
}
}
}
burrows[rowIndex][colIndex] = 1;
System.out.println("row:"+rowIndex+" ,col:"+colIndex);
}
}
public static void main(String [] args){
new Suslik().createPosition(4, 4);
}
}