Arrayindexoutofbounds在2d数组java中

时间:2015-09-11 16:31:50

标签: java arrays multidimensional-array indexoutofboundsexception

我正在尝试从我的2d String数组中获取默认的空值。

到目前为止,我已经知道了。

String[][] sterren = new String[12][37];
    int h = 12;
    String leeg = "";       
    while(h > 0){ 
        int b = 37;
        sterren[h][b] = leeg;
        while(b > 0){
            sterren[h][b] = leeg;
            b = b-1;
        }
        h = h-1;
    }       

h =高度,b =宽度

当我尝试执行此操作时,我在行sterren[h][b] = leeg;上获得了一个arrayindexoutofbounds 12。为什么这是因为我清楚地制作了12列和37行。

1 个答案:

答案 0 :(得分:5)

new String[12][37]表示每个数组的length1237,它们分别可容纳12个和37个对象。因为数组从索引0开始,这意味着它们只有索引0 - length - 1。这意味着如果数组的长度为12,则它具有索引0 - 11。在此示例中,您尝试在外部数组中添加索引12并将索引37添加到内部数组(其最后一个索引为36)。

要使这项工作有h = 11b = 36并制作whilewhile h >=0while b >= 0