对于我的课堂作业,我们需要编写一个名为 Matrix 的类,其中包含一个名为“matrix”的私有二维 int 数组,该数组最多可包含 10 行乘 10 列。我们需要使用两个常量 MAXROWS=10 和 MAXCOLS=10 来构造“矩阵”。Matrix 类还需要以下属性:
private int rows; // number of rows to use in matrix
private int cols; // number of cols to use in matrix
rows 和 cols 将包含小于等于 MAXROWS 和 MAXCOLS 的值。编写一个默认的 Matrix 类构造函数,该构造函数使用以下值构造“矩阵”数组:
{{1,2,4,5},{6,7,8,9},{10,11,12,13}, {14,15,16,17}}
构造函数还必须设置 rows 和 cols 变量以匹配上述矩阵。
编写一个方法“getSumMatrix”,它返回数组“matrix”中所有整数的总和。
编写一个方法“getSumMatrixDiag”,它返回数组“matrix”的主对角线中所有整数的总和。主对角线是从矩阵的左上角到右下角形成的对角线。
是否有可能查看我的代码(我初始化数组并用值填充它以确保它是正确的。我坚持的部分是getSumMatrix和getSumMatrixDiag。getSumMatrix方法在“for( i=0; i < a.matrix; i++)”并告诉我“找不到符号 - 变量矩阵”。getSumMatrixDiag 会不会是同样的方式。为什么会这样?非常感谢。
这是我的代码
/** 索菲亚·阿里
矩阵、getSumMatrix、getSumMatrixDiag:
电子邮件只是 Matrix.java。
编写一个名为 Matrix 的类,其中包含一个名为 'matrix' 的私有二维 int 数组,该数组最多可包含 10 行乘 10 列。使用两个常量 MAXROWS=10 和 MAXCOLS=10 来构造“矩阵”。
Matrix 类还需要以下属性:
私有 int 行;// 矩阵中使用的行数 private int cols; // 矩阵中使用的列数
rows 和 cols 将包含小于等于 MAXROWS 和 MAXCOLS 的值。
编写一个默认的 Matrix 类构造函数,该构造函数使用以下值构造“矩阵”数组:
{{1,2,4,5},{6,7,8,9},{10,11,12,13}, {14,15,16,17}}
构造函数还必须设置 rows 和 cols 变量以匹配上述矩阵。
编写一个方法“getSumMatrix”,它返回数组“matrix”中所有整数的总和。
编写一个方法“getSumMatrixDiag”,它返回数组“matrix”的主对角线中所有整数的总和。主对角线是从矩阵的左上角到右下角形成的对角线。
您不必编写 TestMatrix 类来测试 Matrix 类。只需使用 BlueJ 对象创建和测试功能。
*/ 公共类矩阵 {
final int MAXROWS = 10; final int MAXCOLS = 10; private int [][] matrix = new int [MAXROWS][MAXCOLS]; private int rows; private int cols; public Matrix() { int matrix[][] = { {1, 2, 4, 5}, {6, 7, 8, 9}, {10, 11, 12, 13}, {14, 15, 16, 17}}; getSumMethod(matrix); getSumMatrixDiag(matrix); } public double getSumMethod(int[][] a) { int i, result; result = 0; for(i=0; i < 10; i++) { result = result + i; } return result; } public double getSumMatrixDiag(int[][] m) { int sum = 0; for (int i =0; i< m.length; i++) { sum = (int)(sum + m[i][i]); } return sum; }
}
编辑:
我正在使用 BlueJ 运行我的程序,当我运行它时,我收到错误“错误不兼容类型”。我不确定我的编码是否错误(当我编译它时,它编译时没有语法错误)或者我是否错误地使用了 BlueJ。