我想撰寫一個方法,在其中我得到一個 3x6 workingArray(但也可能是 3x5、3x4...)和一個 3x3(可能也是不同大小)filteringArray 并制作一個 3D 陣列(holdArrays),我將第一個陣列放入制作一個正方形(在本例中為 3x3),然后移動一個位置并放入另一個 3x3,直到覆寫 workingArray 的最后一列。
不知何故,我在 '//affected line' 中得到了一個 nullPointerException,但我不明白為什么。所以我想知道我是否以正確的方式這樣做,我還沒有找到有關如何將 2D 陣列放入 3D 陣列的資源。
例子:
1 2 3 4 1 2 3 2 3 4
5 6 7 8 to 5 6 7 and 6 7 8
9 1 2 3 9 1 2 1 2 3
private static void filtering(double[][] workingArray, double[][] filteringArray) {
// creating amount of holdArrays to work with filterArray
double[][][] holdArrays = new double[workingArray.length - filteringArray.length 1][filteringArray.length][];
// filling in the parted workingArray into holdArrays
for (int i = 0; i < holdArrays.length; i ) {
for (int j = 0; j < filteringArray.length; j ) {
for (int k = 0; k < filteringArray[j].length; k ) {
holdArrays[i][j][k] = workingArray[j][k]; //affected line
}
}
}
}
uj5u.com熱心網友回復:
未指定最后一個維度的大小。并且由于該行
holdArrays[i][j][k]嘗試訪問不存在的第 k 個元素,因此會引發空指標例外。
double[][][] holdArrays = new double[workingArray.length - filteringArray.length 1][filteringArray.length][];
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/484439.html
下一篇:JavaSpring物體插入拋出“JdbcSQLIntegrityConstraintViolationException”
