用java编写矩阵类Matrix,包含以下成员变量:整数变量 row_size, col_size, 分别表示矩阵的行数与列数,整数的二维数组 values[][],表示一个整数矩阵. 包含以下成员方法:void setMatrix(int m, int n)方法: 参变量 m,n分别赋值给成员变量 row_size, col_size, 并由键盘输入,完成 values 数组元素的赋值。 void setMatrix(int m, int n, int v[][]) 方法: 参变量 m,n分别赋值给成员变量 row_size, col_size, 并将参变量 的 v数组 赋值给 成员变量 values 数组。 Matrix add(Matrix m),方法:求当前对象对应的矩阵 与 参变量 m 矩阵的 和矩阵,作为返回值返回。 Matirx mul(Matrix m) 方法:求当前对象对应的矩阵 与 参变量 m 矩阵的 积矩阵,作为返回值返回。 void print() 方法:完成当前对象的 成员变量 values数组 的输出; Main类已经编写好如下: import java.util.*; public class Main { public static void main(String[] args) { Matrix m1 = new Matrix(); int v1[][] = {{1,0}, {0,1},{1,1}}; m1.setMatrix(3,2,v1); int v2[][] = {{1,2}, {3,4},{5,6}}; Matrix m2 = new Matrix(); m2.setMatrix(3,2,v2); Matrix m3 = m1.add(m2); m3.print(); //输出m1与m2两个矩阵的和矩阵 System.out.println(); Matrix m4 = new Matrix(); m4.setMatrix(2,3); //完成m4矩阵的初始化,其间需要从键盘输入2行3列的整数矩阵 Matrix m5 = m1.mul(m4); m5.print(); //输出m1与m4两个矩阵的积矩阵 } }
时间: 2023-06-09 18:06:49 浏览: 805
java_matrix类库
4星 · 用户满意度95%
好的,我已经了解了您的问题。以下是矩阵类Matrix的Java代码实现:
public class Matrix {
private int row_size;
private int col_size;
private int[][] values;
public void setMatrix(int m, int n) {
row_size = m;
col_size = n;
values = new int[row_size][col_size];
Scanner input = new Scanner(System.in);
System.out.println("请输入 " + row_size + " 行 " + col_size + " 列的整数矩阵:");
for (int i=0; i<row_size; i++) {
for (int j=0; j<col_size; j++) {
values[i][j] = input.nextInt();
}
}
}
public void setMatrix(int m, int n, int v[][]) {
row_size = m;
col_size = n;
values = new int[row_size][col_size];
for (int i=0; i<row_size; i++) {
System.arraycopy(v[i], 0, values[i], 0, col_size);
}
}
public Matrix add(Matrix m) {
Matrix result = new Matrix();
result.setMatrix(row_size, col_size);
for (int i=0; i<row_size; i++) {
for (int j=0; j<col_size; j++) {
result.values[i][j] = values[i][j] + m.values[i][j];
}
}
return result;
}
public Matrix mul(Matrix m) {
Matrix result = new Matrix();
result.setMatrix(row_size, m.col_size);
for (int i=0; i<row_size; i++) {
for (int j=0; j<m.col_size; j++) {
for (int k=0; k<col_size; k++) {
result.values[i][j] += values[i][k] * m.values[k][j];
}
}
}
return result;
}
public void print() {
System.out.println("矩阵内容为:");
for (int i=0; i<row_size; i++) {
for (int j=0; j<col_size; j++) {
System.out.print(values[i][j] + " ");
}
System.out.println();
}
}
}
在Main类的main方法中,我们可以按照以下方式使用Matrix类:
public static void main(String[] args) {
Matrix m1 = new Matrix();
int v1[][] = {{1,0}, {0,1},{1,1}};
m1.setMatrix(3,2,v1);
int v2[][] = {{1,2}, {3,4},{5,6}};
Matrix m2 = new Matrix();
m2.setMatrix(3,2,v2);
Matrix m3 = m1.add(m2);
m3.print(); // 输出m1与m2两个矩阵的和矩阵
System.out.println();
Matrix m4 = new Matrix();
m4.setMatrix(2,3); // 完成m4矩阵的初始化,其间需要从键盘输入2行3列的整数矩阵
Matrix m5 = m1.mul(m4);
m5.print(); // 输出m1与m4两个矩阵的积矩阵
}
这样就可以完成矩阵类Matrix的编写,并且实现了根据用户输入的矩阵大小和数据,计算矩阵的和、积,以及输出矩阵的功能。
阅读全文