私のクラス割り当てでは、最大 10 行 x 10 列までの「matrix」というプライベート 2 次元 int 配列を含む Matrix というクラスを作成する必要があります。「行列」を作成するには、MAXROWS=10 と MAXCOLS=10 の 2 つの定数を使用する必要があります。Matrix クラスには、次の属性も必要です。
private int rows; // number of rows to use in matrix
private int cols; // number of cols to use in matrix
行と列には、MAXROWS と MAXCOLS 以下の値が含まれます。次の値で「matrix」配列を構築するデフォルトの Matrix クラス コンストラクターを記述します。
{{1,2,4,5},{6,7,8,9},{10,11,12,13}, {14,15,16,17}}
コンストラクターは、上記のマトリックスと一致するように、rows 変数と cols 変数も設定する必要があります。
配列「matrix」内のすべての整数の合計を返すメソッド「getSumMatrix」を記述します。
配列「matrix」の長対角のすべての整数の合計を返すメソッド「getSumMatrixDiag」を記述します。主対角線は、行列の左上隅から右下隅に形成される対角線です。
私のコードを調べてもらうことは可能でしょうか(ここで、配列を初期化し、値を入力して正しいことを確認します。私が行き詰まっている部分は、getSumMatrix と getSumMatrixDiag です。getSumMatrix メソッドは、行 "for( i=0; i < a.matrix; i++)" と表示され、" シンボルが見つかりません - 変数行列" と表示されます。
これが私のコードです
/** ソフィア・アリ
マトリックス、getSumMatrix、getSumMatrixDiag:
Matrix.java だけを電子メールで送信してください。
最大 10 行 x 10 列までの「matrix」というプライベート 2 次元 int 配列を含む Matrix というクラスを作成します。MAXROWS=10 と MAXCOLS=10 の 2 つの定数を使用して、「行列」を作成します。
Matrix クラスには、次の属性も必要です。
プライベート int 行。// 行列で使用する行数 private int cols; // マトリックスで使用する列の数
行と列には、MAXROWS と MAXCOLS 以下の値が含まれます。
次の値で「matrix」配列を構築するデフォルトの Matrix クラス コンストラクターを記述します。
{{1,2,4,5},{6,7,8,9},{10,11,12,13}, {14,15,16,17}}
コンストラクターは、上記のマトリックスと一致するように、rows 変数と cols 変数も設定する必要があります。
配列「matrix」内のすべての整数の合計を返すメソッド「getSumMatrix」を記述します。
配列「matrix」の長対角のすべての整数の合計を返すメソッド「getSumMatrixDiag」を記述します。主対角線は、行列の左上隅から右下隅に形成される対角線です。
Matrix クラスをテストするために TestMatrix クラスを記述する必要はありません。BlueJ オブジェクトの作成とテスト機能を使用するだけです。
*/ public class Matrix {
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 を使用してプログラムを実行していますが、実行すると「Error incompatible types」というエラーが表示されます。コーディングが間違っているのか (コンパイルすると、構文エラーなしでコンパイルされる)、それとも BlueJ の使い方が間違っているのかわかりません。