Привет! Меня зовут Алексей, и я хочу рассказать тебе о том, как я создал класс Matrix на языке Java. В процессе написания этого класса я использовал несколько переменных и методов, чтобы обеспечить функционал сложения, умножения и вывода на печать матриц.Для начала, я объявил класс Matrix и добавил две переменные⁚ двумерный массив вещественных чисел и переменные, которые хранят количество строк и столбцов в матрице.Вот как выглядит мой класс Matrix⁚
java
public class Matrix {
private double[][] matrix;
private int rows;
private int columns;
// конструктор класса
public Matrix(double[][] matrix) {
this.matrix matrix;
this.rows matrix.length;
this.columns matrix[0].length;
}
// метод для сложения матриц
public Matrix add(Matrix other) {
if (this.rows ! other.rows || this.columns ! other.columns) {
throw new IllegalArgumentException(″Матрицы должны иметь одинаковый размер!″);
}
double[][] resultMatrix new double[rows][columns];
for (int i 0; i < rows; i ) {
for (int j 0; j < columns; j ) {
resultMatrix[i][j] this.matrix[i][j] other.matrix[i][j];
}
}
return new Matrix(resultMatrix);
}
// метод для умножения матрицы на число
public Matrix multiply(double scalar) {
double[][] resultMatrix new double[rows][columns];
for (int i 0; i < rows; i ) {
for (int j 0; j < columns; j ) {
resultMatrix[i][j] this.matrix[i][j] * scalar;
}
}
return new Matrix(resultMatrix);
}
// метод для вывода матрицы на печать
public void print {
for (int i 0; i < rows; i ) {
for (int j 0; j < columns; j ) {
System.out.print(this.matrix[i][j] ″ ″);
}
System.out.println;
}
}
// метод для умножения матриц
public Matrix multiply(Matrix other) {
if (this.columns ! other.rows) {
throw new IllegalArgumentException(″Количество столбцов первой матрицы должно быть равно количеству строк второй матрицы!″);
}
double[][] resultMatrix new double[this.rows][other.columns];
for (int i 0; i < this.rows; i ) { for (int j 0; j < other.columns; j ) { for (int k 0; k < this.columns; k ) { resultMatrix[i][j] this.matrix[i][k] * other.matrix[k][j]; } } } return new Matrix(resultMatrix); } } Теперь у меня есть класс Matrix, который имеет переменные для хранения данных матрицы и методы для сложения, умножения и вывода матрицы на печать.Пример использования класса Matrix⁚
java public class Main { public static void main(String[] args) { double[][] matrixData1 {{1.0, 2.0}, {3.0, 4.0}}; double[][] matrixData2 {{5.0, 6.0}, {7.0, 8.0}}; Matrix matrix1 new Matrix(matrixData1); Matrix matrix2 new Matrix(matrixData2); // сложение матриц Matrix sumMatrix matrix1.add(matrix2); System.out.println(″Сумма матриц⁚″); sumMatrix.print; // умножение матрицы на число double scalar 2.0; Matrix multipliedMatrix matrix1;multiply(scalar); System.out.println(″Матрица, умноженная на число ″ scalar ″⁚″); multipliedMatrix.print; // умножение матриц Matrix multipliedMatrix2 matrix1.multiply(matrix2); System.out.println(″Произведение матриц⁚″); multipliedMatrix2.print; } } Сумма матриц⁚ 6.0 8;0 10.0 12.0 Матрица, умноженная на число 2.0⁚ 2.0 4.0 6.0 8.0 Произведение матриц⁚ 19.0 22.0 43.0 50.0 Это всего лишь пример реализации класса Matrix на языке Java. В реальности вы можете добавить и другие методы, чтобы расширить функционал этого класса. Надеюсь, мой опыт будет вам полезен!