如何将变量添加到数组中

时间:2011-11-22 23:26:57

标签: java arrays variables loops random

我试图将数组中的值设置为变量。这是我的代码:

//init the array as a float
//I have tried to put a value in the brackets, but it returns a different error.
//I initialized it this way so I could call it from other methods
private float[] map;

// generate a "seed" for the array between 0 and 255
float x = generator.nextInt(256);
int n = 1;
// insert into the first 25 slots
while(n <= 25) {
    // here's my problem with this next line
    map[n] = x;
    double y = generator.nextGaussian();
    x = (float)Math.ceil(y);
    n = n + 1;
}

我用错误标记了该行,返回的错误是:“未捕获的异常抛出...”。我究竟做错了什么???提前谢谢。

EDIT -----

以下是完整的例外情况:

    Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]

我使用y生成随机高斯,然后将其转换为浮点值并将x更改为该浮点值

我很确定这就是那条线,因为那是我的编译器告诉我的。

1 个答案:

答案 0 :(得分:6)

我猜你得到两个例外之一:

  1. 您收到NullPointerException因为已将地图初始化为null。使用例如:

    分配非空值
    private float[] map = new float[25];
    
  2. 您获得的是IndexOutOfBoundsException,因为您使用的是基于1的索引而不是基于0的索引。

  3. 改变这个:

    int n = 1;
    while(n <= 25) {
        // etc..
        n = n + 1;
    }
    

    到此for循环:

    for (int n = 0; n < 25; ++n) {
        // etc..
    }