我想从0-5(Row,Col)生成随机坐标,没有使用for循环的任何重复。基本上,如果生成数字(3,2),(3,4),(1,4),(3,4),那么将不使用(3,4)并且将寻找新的随机集。 / p>
这些是生成两个随机数并将它们加载到数组shootP []
中的方法 int[] shootP = new int[2];
public static int shootRowP(int[] shootP)
{
Random rn = new Random();
shootP[0] = rn.nextInt(5)+1;//loads into ROW
System.out.print("Row:"+(shootP[0]));
return shootP[0]--;
}
public static int shootColP(int[] shootP,int[][]boardP)
{
Random rn = new Random();
shootP[1] = rn.nextInt(5)+1;//loads into Col
System.out.print(" Column:"+(shootP[1])+"/n");
return shootP[1]--;
}
然后我想在shootP [0]和shootP [1]的值中读取另一个方法,并检查这些值是否已被使用。有什么建议吗?
答案 0 :(得分:0)
由于可能坐标(X,Y)的数量不是太大,首先要建立所有可能坐标的列表。然后,在每个随机选择中,选择此列表中的随机元素(即rn.nextInt(current_list_length)
),从列表中删除该元素并将其返回。
注意: