Java课程设计 矩阵类 实现加、减、乘法
来源:互联网 发布:上海行知外国语小学 编辑:程序博客网 时间:2024/06/01 15:55
矩阵类:
// Filename: Matrix.javaclass Matrix {Matrix(){} Matrix(int r, int c) { row = r; col = c; matrix = new double[r][c]; } Matrix(double [][] m, int r, int c) { row = r; col = c; matrix = m; } Matrix(double [][] m) { row = m.length; col = m[0].length; matrix = m; } Matrix add(Matrix b) { if((row != b.row) && (col != b.col)) { System.out.println("Matrix A can't add Matri B!"); System.exit(1); } Matrix tmp = new Matrix(row, col); for(int i = 0; i < row; i++) for(int j = 0; j < col; j++) { tmp.matrix[i][j] = matrix[i][j] + b.matrix[i][j]; } return tmp; } Matrix sub(Matrix b) { if((row != b.row) && (col != b.col)) { System.out.println("Matrix A can't subtract Matri B!"); System.exit(1); } Matrix tmp = new Matrix(row, col); for(int i = 0; i < row; i++) for(int j = 0; j < col; j++) { tmp.matrix[i][j] = matrix[i][j] - b.matrix[i][j]; } return tmp; } Matrix mul(Matrix b) { if(col != b.row) { System.out.println("Matrix A can't multiply Matrix B!"); System.exit(1); } Matrix tmp = new Matrix(row, b.col); for(int i = 0; i < row; i++) for(int j = 0; j < b.col; j++) { tmp.matrix[i][j] = 0.0; for(int k = 0; k < b.row; k++) { tmp.matrix[i][j] += matrix[i][k] * b.matrix[k][j]; } } return tmp; } void print() { for(int i = 0; i < row; i++) { System.out.print(matrix[i][0]); for(int j = 1; j < col; j++) { System.out.print(" " + matrix[i][j]); } System.out.println(""); } } private int col;//列数 private int row;//行数 private double [][] matrix;//保存矩阵}
测试程序:
// Filename: MatrixDriveTestimport java.io.*;import java.util.*;public class MatrixDriveTest { public static void main(String [] args) throws Exception { int m, n;//m保存行数, n保存列数 double [][] matrix;//保存矩阵 Scanner in = new Scanner(System.in); System.out.println("Input a m×n matrix..."); m = in.nextInt(); n = in.nextInt(); matrix = new double[m][n]; //System.out.println("m = " + matrix.length); //System.out.println("n = " + matrix[0].length); for(int i = 0; i < m; i++) for(int j = 0; j < n; j++) { matrix[i][j] = in.nextDouble(); } Matrix A = new Matrix(matrix); //A.print(); System.out.println("Input a m×n matrix..."); m = in.nextInt(); n = in.nextInt(); matrix = new double[m][n]; //System.out.println("m = " + matrix.length); //System.out.println("n = " + matrix[0].length); for(int i = 0; i < m; i++) for(int j = 0; j < n; j++) { matrix[i][j] = in.nextDouble(); } Matrix B = new Matrix(matrix); //Matrix C = A.add(B); //C.print(); //Matrix D = A.sub(B); //D.print(); //Matrix E = A.mul(B); //E.print(); System.out.println("1. A + b");System.out.println("2. A - B");System.out.println("3. A * B");int ch = 0;System.out.print("Choose your operation: ");try{BufferedReader br = new BufferedReader( new InputStreamReader(System.in) );ch = Integer.parseInt(br.readLine());}catch(IOException ex){}Matrix C = new Matrix();switch(ch){case 1:C = A.add(B);C.print();break;case 2:C = A.sub(B);C.print();break;case 3:C = A.mul(B);C.print();break;default:System.out.println("Choice Error!!");break;} } }
- Java课程设计 矩阵类 实现加、减、乘法
- Java课程设计 复数类 实现加、减、乘法
- java实现矩阵乘法
- 矩阵乘法运算-JAVA实现
- Java程序实现矩阵乘法
- 实现大位整数的加/减/乘法的java工具类
- Java 矩阵类 实现加法、减法和乘法
- 矩阵链乘法的Java实现
- 数据结构课程设计:稀疏矩阵(加、减、乘、求逆矩阵)
- 【矩阵乘法】:矩阵乘法的基本实现
- 矩阵乘法实现
- C++实现矩阵乘法
- MapReduce实现矩阵乘法
- Pthreads矩阵乘法实现
- OpenMP矩阵乘法实现
- Mapreduce实现矩阵乘法
- C++ 实现矩阵乘法
- 矩阵乘法实现
- 认识java多线程(一)
- 最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用13
- Java或web中解决所有路径问题
- 全文检索、数据挖掘、推荐引擎系列5---文章术语向量表示法
- 学习XML之三:XML 树结构
- Java课程设计 矩阵类 实现加、减、乘法
- Spring框架的七个模块
- 第三章 运算符和控制流
- uva 103 (dp)Stacking Boxes
- C语言启动代码board.c分析
- 学习XML之四:XML 语法规则
- 我的博客史
- oracle 常用系统表与视图
- 归并排序的C++实现代码