0

我正在尝试在 surfaceView 上生成 10 个随机位置以绘制 10 个圆圈。下面的代码为 x 和 y 坐标分配了一个随机浮点值,但我不断收到关于随机值分配的空指针异常并且无法弄清楚原因。

rndX = new float[10];
rndY = new float[10];

for(int i=0;i<rndX.length;i++)
{
   //get random x and y values
   rndX[i] = (float)generator.nextInt(surface.getWidth());
   rndY[i] = (float)generator.nextInt(surface.getHeight());
}
4

2 回答 2

1

以下工作正常。

    float[] rndX = new float[10];
    float[] rndY = new float[10];

    int width = 100;
    int height = 100;

    Random generator = new Random(System.currentTimeMillis());

    for(int i=0;i<rndX.length;i++){
       rndX[i] = (float)generator.nextInt(width);
       rndY[i] = (float)generator.nextInt(height);
    }

导致您NullPointerException的原因可能是其中一个surfacegenerator变量未初始化。

于 2013-06-21T13:58:11.603 回答
1

你为什么不尝试:

Random rand = new Random();

rndX = new float[10];
rndY = new float[10];

for(int i=0;i<10;i++)
{
   //get random x and y values
   rndX[i] = rand.nextFloat();
   rndY[i] = rand.nextFloat();
}
于 2013-06-21T14:00:22.787 回答