我有两个数据集,第一个是3D,第二个是2D。
如何实现两组的减法。
import java.util.*;
class test28{
public static void main ( String[] args ) {
int [][][] arr1 = {{{6,3,9,0},{8,6,5,3}}};
int [][] arr2= {{6,3,9,0},{8,6,5,3}};
test28 test = new test28();
System.out.println(test.subtract(arr1,arr2));
}
public static int [][] subtract(int[][][] a, int[][] b) {
int [][] diff = new int[a.length][a[0].length];
for (int i = 0; i < a.length - 1; i++) {
for ( int j=0; j<a[0].length; j++){
for ( int k=0; k<a[0][0].length; k++) {
diff[0][i] = a[i][j][k]- b[i][j];
}
}
}
return diff;
}
}
以下代码会产生错误:
我更改了diff实例化,然后我有indexoutofbound错误
在diff [0] [i] = a [i] [j] [k] - b [i] [j];
答案 0 :(得分:0)
一个合理的解释如下:
int [][] diff = new int[a[0].length][a[0][0].length];
for ( int j=0; j<a[0].length; j++){
for ( int k=0; k<a[0][0].length; k++)
diff[j][k] = a[0][j][k]- b[j][k];
当然尺寸必须匹配,因此您必须执行该检查。
我没有看到这个目的。