Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中查找2D数组的和_Java_Arrays_Matrix_Compiler Errors - Fatal编程技术网

在java中查找2D数组的和

在java中查找2D数组的和,java,arrays,matrix,compiler-errors,Java,Arrays,Matrix,Compiler Errors,我是java新手,必须找到2D数组的和,但我的代码根本无法编译。我不断发现错误: 发现3个错误: File: C:\Users\Brett\Documents\DrJava\Matrix.java [line: 9] Error: length cannot be resolved or is not a field File: C:\Users\Brett\Documents\DrJava\Matrix.java [line: 10] Error: The type of the expr

我是java新手,必须找到2D数组的和,但我的代码根本无法编译。我不断发现错误:

发现3个错误:

File: C:\Users\Brett\Documents\DrJava\Matrix.java  [line: 9]
Error: length cannot be resolved or is not a field
File: C:\Users\Brett\Documents\DrJava\Matrix.java  [line: 10]
Error: The type of the expression must be an array type but it resolved to int
File: C:\Users\Brett\Documents\DrJava\Matrix.java  [line: 15]
Error: The constructor Matrix(int[][]) is undefined
我不知道如何修复它们,提前感谢您的帮助

public class Matrix {
  int[] matrix;
  Matrix(int[] matrix) {
    this.matrix = matrix;
  }
  int sum() {
    int sum = 0;
    for (int i = 0; i < matrix.length; i++)
      for (int j = 0; j < matrix[i].length; j++)
      sum += matrix[i][j];
    return sum;
  }
  public static void main(String[] args) {
    int[][] a1 = { { 1, 2 }, { 3, 4 } };
    Matrix m1 = new Matrix(a1);
    System.out.println(m1.sum());
  }
}
公共类矩阵{
int[]矩阵;
矩阵(int[]矩阵){
这个矩阵=矩阵;
}
整数和(){
整数和=0;
对于(int i=0;i
问题在于:

int[][] a1 = { { 1, 2 }, { 3, 4 } };
Matrix m1 = new Matrix(a1);
Java没有看到接受
int[][]
的构造函数您的构造函数只接受
int[]
。因此,出现了错误消息

您可能希望相应地更改构造函数(以及矩阵字段):

int[][] matrix;
Matrix(int[][] matrix) {
    this.matrix = matrix;
}
问题是:

int[][] a1 = { { 1, 2 }, { 3, 4 } };
Matrix m1 = new Matrix(a1);
Java没有看到接受
int[][]
的构造函数您的构造函数只接受
int[]
。因此,出现了错误消息

您可能希望相应地更改构造函数(以及矩阵字段):

int[][] matrix;
Matrix(int[][] matrix) {
    this.matrix = matrix;
}

您也可以使用第三方库进行此操作。例如:


您也可以使用第三方库进行此操作。例如:


哇,我不知道为什么这样打印错误你有一维数组,但试着把它们当作二维数组来使用。具体地说,你在
main
中声明的
a1
是二维的,但是你的
matrix
字段是一维的。哇,我不知道为什么这样打印错误你有一维数组,但是试着把它们当作二维来使用。具体地说,你在
main
中声明的
a1
是二维的,但是你的
matrix
字段是一维的。啊哈!我知道这会很愚蠢。。。我看了我所有的方法:(谢谢你,尽管我很感激!啊哈!我知道这会很愚蠢…我看了我所有的方法:(谢谢你,尽管我很感激!)!