好的我想在2d数组中选择一个随机点,以便可以填充它。我已经看过如何为1d数组做这个,我想知道如何在2d数组中实现这一点。我所看到的关于这种方法的是,同样的位置再次出现,这是一个小问题,但我不知道如何做到这一点。 2d阵列本质上是一个网格,其尺寸为x和y坐标。并且随机元素选择边界内的一个点(用户选择但是出于此问题的目的,可以是30x50。
编辑:
import java.util.Random;
class pickRand{
public static String get (int x, int y){
int rndx = generator.nextInt(x) + 2;
int rndy = generator.nextInt(y) + 2;
}
}
这样做会有效,x和y将对应于用户生成的数字,并且两边都有一个凸起的边界,以防止任何对象进入(部分在网格之外或者网格之外。没有什么需要返回吗?
答案 0 :(得分:3)
如果网格大小为M by N
0 and M-1
说 i 0 and N-1
说 j (i,j)将是2d数组的随机元素
答案 1 :(得分:0)
数组在这里扮演什么角色?
基本上,任务是选择...... 随机整数2D坐标。
因此,如果您需要两个坐标,例如i
中的0...W-1
和j
中的0...H-1
,则只需绘制两个随机整数。如果您需要更多更高的维度,请绘制更多的randoms。
显然,您可以访问array[i][j]
。
在大多数语言中,数组可以是不规则的,即行/列可以具有不同的长度。然而,这对处理......同样微不足道。