Для моего назначения класса нам нужно написать класс Matrix, который содержит частный 2-мерный массив int, называемый «матрицей», который может содержать до 10 строк на 10 столбцов. Нам нужно использовать две константы MAXROWS = 10 и MAXCOLS = 10 для построения «матрицы». Класс Matrix также понадобятся следующие атрибуты:BlueJ 2d Dimensional Array
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', который возвращает сумму всех целых чисел в основной диагонали матрицы 'matrix'. Основной диагональю является диагональ, сформированная из верхнего левого угла в нижний правый угол матрицы .
Возможно ли, чтобы мой код просматривался (где я инициализирую массив и заполняю его значениями, чтобы убедиться, что это правильно. Часть, на которую я застрял, - это getSumMatrix и getSumMatrixDiag. Метод getSumMatrix устраняет ошибки на line "for (i = 0; i < a.matrix; i ++)" и говорит мне: «Невозможно найти символ - переменную матрицу». Как и в случае с getSumMatrixDiag, это будет так же. Почему так много.
Вот мой код
/** София Али
Матрица, getSumMatrix, getSumMatrixDiag:
Email просто Matrix.java.
Напишите класс Matrix, который содержит частный двумерный массив int , называемый «матрицей», который может содержать до 10 строк на 10 столбцов. Используйте две константы MAXROWS = 10 и MAXCOLS = 10 для построения «матрицы».
Класс Matrix также понадобятся следующие атрибуты:
частные ИНТ строки; // количество строк для использования в матрице private int cols; // количество колод, используемых в матрице
Строки и столбцы будут содержать значения, которые меньше, чем MAXROWS и MAXCOLS.
Написать конструктор класса матрицы, по умолчанию, который конструирует 'матрицу' массива со следующими значениями:
{{1,2,4,5}, {6,7,8,9}, {10 , 11,12,13}, {14,15,16,17}}
Конструктор также должен устанавливать переменные строк и столбцов в соответствии с матрицей .
Напишите метод 'getSumMatrix', который возвращает сумму всех целых чисел в матричной матрице.
Напишите метод 'getSumMatrixDiag', который возвращает сумму всех целых чисел в основной диагонали матрицы 'matrix'. Основной диагональю является диагональ, сформированная из верхнего левого угла в правый нижний угол .
Вам не нужно писать класс TestMatrix для проверки класса Matrix. Просто используйте функцию создания и тестирования объектов BlueJ.
*/ общественного класса 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; }
}
EDIT:
Я использую BlueJ, чтобы запустить свою программу, и когда я запускаю его я получаю сообщение об ошибке Msgstr "Ошибка несовместимых типов". Я не уверен, что мое кодирование неверно (когда я его компилирую, он компилируется без синтаксических ошибок) или если я неправильно использую BlueJ.
Что такое 'a.matrix'? 'a' имеет тип' int [] [] ', который не имеет поля-члена' matrix'. – Patashu
в ваших кодах нет переменной матрицы, существует только массив из двух тусклых с именем «матрица». –
Постарайтесь придерживаться условных обозначений Java с константами имени с прописными буквами (например, вы делаете в вопросе): 'MAXROWS' & 'MAXCOLS'. –