android random浮动返回null

时间:2013-06-21 13:49:59

标签: java android

我试图在surfaceView上生成10个随机位置以绘制10个圆圈。 下面的代码为x和y坐标分配了一个随机浮点值,但是我一直在随机值赋值上接收一个nullpointer异常,并且无法找出原因。

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());
}

2 个答案:

答案 0 :(得分: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个变量之一未初始化。

答案 1 :(得分: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();
}