對於我的類分配,我們需要編寫一個名爲Matrix的類,該類包含一個名爲'matrix'的私有2維int數組,最多可以有10行10列。我們需要使用兩個常量MAXROWS = 10和MAXCOLS = 10來構造「矩陣」。 Matrix類還需要以下屬性:BlueJ二維數組
private int rows; // number of rows to use in matrix
private int cols; // number of cols to use in matrix
的行列數將包含小於等於MAXROWS和MAXCOLS值。 寫缺省矩陣類構造具有以下值構造「矩陣」數組:
{{1,2,4,5},{6,7,8,9},{10,11,12,13}, {14,15,16,17}}
構造還必須設置行列數變量上述矩陣匹配。
編寫一個方法'getSumMatrix',它返回數組'矩陣'中所有整數的總和。
編寫一個方法'getSumMatrixDiag',它返回數組'矩陣'主對角線中所有整數的和。主要對角線是從矩陣的左上角到右下角形成的對角線。
是否有可能讓我的代碼看起來(我初始化數組並填充值以確保它是正確的)我卡在的部分是getSumMatrix和getSumMatrixDiag。getSumMatrix方法出錯行「for(i = 0; i < a.matrix; i ++)」,並告訴我「找不到符號 - 變量矩陣」,並以同樣的方式運行getSumMatrixDiag.Why是什麼?非常感謝。
這裏是我的代碼
/** 索菲亞·阿里
Matrix,getSumMatrix,getSumMatrixDiag:
電子郵件只是Matrix.java。
編寫一個名爲Matrix的類,其中包含一個名爲'matrix'的私有2維int 數組,最多可以有10行10列。 使用兩個常量MAXROWS = 10和MAXCOLS = 10來構造'矩陣'。
Matrix類還將需要以下屬性:
private int rows; //在矩陣中使用的行數 private int cols; //矩陣中使用的列數
行和列將包含小於等於 MAXROWS和MAXCOLS的值。
寫缺省矩陣類構造構造 '矩陣' 陣列具有以下值:
{{1,2,4,5},{6,7,8,9},{10 ,11,12,13},{14,15,16,17}}
構造函數還必須設置行和列變量以匹配上述矩陣的 。
編寫一個方法'getSumMatrix',它返回數組'矩陣'中所有整數 的總和。
編寫一個方法'getSumMatrixDiag',該方法返回數組'矩陣'主對角線中所有整數 的總和。主要對角線是 矩陣的從左上角到右下角形成的對角線。
您不必編寫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。
什麼是'a.matrix'? 'a'的類型爲int [] []',它沒有成員字段'matrix'。 – Patashu
你的代碼中沒有可變矩陣,只有2個dim的數組,名稱爲'matrix' –
嘗試堅持Java約定一個只有大寫字母的名稱常量(就像你在問題中所做的那樣):'MAXROWS'& 'MAXCOLS'。 –