簡體   English   中英

3D數組中的ArrayIndexOutOfBoundsException

[英]ArrayIndexOutOfBoundsException in 3D array

我正在嘗試為神經網絡制作一個鋸齒狀的數組,這給了我一個超出范圍的錯誤...

int[] sizes = {
    layer1, layer2, layer3
};
int k = sizes.length - 1;
double[][][] net = new double[k][][];
int i;
for (i = 0; i < k; i++)
   net[i] = new double[sizes[i]][];
for (int j = 0; j < sizes[i]; j++)
   net[i][j] = new double[sizes[i + 1]];

net[x][ ][y]的大小應等於net[x+1][y][ ]

我是在紙上做的,我認為這會起作用。

int[] sizes = {
    layer1, layer2, layer3
};
int k = sizes.length - 1;

因此, k等於2。

int i;
for (i = 0; i < k; i++)
   net[i] = new double[sizes[i]][];

在那個循環之后, i等於2。

for (int j = 0; j < sizes[i]; j++)
   net[i][j] = new double[sizes[i + 1]];
                          ^^^^^^^^^^^^
                          ArrayIndexOutOfBoundsException

吊桿, sizes[i + 1]拋出ArrayIndexOutOfBoundsException ,由於sizes僅具有索引0,1和2以及你指的是sizes[3]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM