int [] []无法转换为int

时间:2017-03-16 13:17:56

标签: java

这是一个矩阵添加功能。 错误:int [] []无法转换为int

class te {
public static int r,c;
public static double [][] add(double a[][],double b[][]){
    int c[][] = new int[r][c];
    for(int i = 0;i<=r;i++) {
        for(int j = 0; j<=c;j++){
            c[i][j] = a[i][j] + b[i][j];
        }
    }
    return c;
}
}

1 个答案:

答案 0 :(得分:6)

四件事:

  1. 本地定义的c 阴影具有相同名称的类的static字段。不要这样做,因为它会导致混淆,在这种情况下会导致编译错误。我们将其重命名为z

  2. 本地定义的cint[][]的数组,您试图将其用作函数的返回值。后者定义为double[][]。所以编译器抱怨。请改用double z[][] = new double[r][c];

  3. i <= r替换为i < r,将j <= c改为。

  4. Java约定要求类名使用“CamelCase”。将其重命名为Te

  5. (1)和(2)将修复编译错误,(3)在运行时获得的数组越界错误。 (4)有助于使您的代码可读。