⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testmatrix.java

📁 我在学习JAVA的讲义
💻 JAVA
字号:
import java.io.*;
class Matrix{
	private int[][] m;

	Matrix(){
	}
	
	Matrix(int[][] a){
		m=new int[a.length][a.length];
		for (int i=0;i<a.length;i++){
			for (int j=0;j<a.length;j++){
				m[i][j]=a[i][j];
			}
		}
	}
	
	Matrix(Matrix a){
		int[][] m1=a.m;
		m=new int[m1.length][m1.length];
		for (int i=0;i<m1.length;i++){
			for (int j=0;j<m1.length;j++){
				m[i][j]=m1[i][j];
			}
		}	
	}
	
	public void printMatrix(){
		for (int i=0;i<m.length;i++){
			System.out.print("|");
			for (int j=0;j<m.length;j++){
				System.out.print("\t"+m[i][j]);
			}
			System.out.println("\t|");
		}	

	}

	public static Matrix matrixAdd(Matrix a,Matrix b){
		int[][] m1=a.m, m2=b.m;
		int[][] m3=new int[m1.length][m1.length];
		for (int i=0;i<m3.length;i++){
			for (int j=0;j<m3.length;j++){
				m3[i][j]=m1[i][j]+m2[i][j];
			}
		}
		return new Matrix(m3);
	}
	
	public static Matrix matrixSub(Matrix a,Matrix b){
		int[][] m1=a.m, m2=b.m;
		int[][] m3=new int[m1.length][m1.length];
		for (int i=0;i<m3.length;i++){
			for (int j=0;j<m3.length;j++){
				m3[i][j]=m1[i][j]-m2[i][j];
			}
		}
		return new Matrix(m3);
	}


	public static Matrix matrixMul(Matrix a,Matrix b){
		int[][] m1=a.m, m2=b.m;
		int[][] m3=new int[m1.length][m1.length];
		for (int i=0;i<m3.length;i++){
			for (int j=0;j<m3.length;j++){
					for (int k=0;k<m3.length;k++){
						m3[i][j]=m3[i][j]+m1[i][k]*m2[k][j];
					}
			}
		}
		return new Matrix(m3);
	}
}


class TestMatrix{
	public static void main(String[] args){
		int n=0;
		Reader ir = new InputStreamReader(System.in);
		BufferedReader r = new BufferedReader(ir);
		String sc="";
		System.out.print("输入 n = ");
		try{
			sc = r.readLine();
		}catch (IOException e){}
		try{
			n=Integer.parseInt(sc);
		}catch (NumberFormatException e){
			System.out.println("输入的数据不是整数");
			System.exit(1);
		}
		int[][] a1=new int[n][n];
		for (int i=0;i<n;i++){
			for (int j=0;j<n;j++){
				a1[i][j]=(int)(Math.random()*10);
			}
		}
		Matrix ma=new Matrix(a1);
		
		for (int i=0;i<n;i++){
			for (int j=0;j<n;j++){
				a1[i][j]=(int)(Math.random()*10);
			}
		}
		Matrix mb=new Matrix(a1);
		Matrix mc;
		
		System.out.println("Matrix A = ");
		ma.printMatrix();

		System.out.println("\nMatrix B = ");
		mb.printMatrix();
		
		mc=Matrix.matrixAdd(ma,mb);
		System.out.println("\nMatrix A + B = ");
		mc.printMatrix();
		
		mc=Matrix.matrixSub(ma,mb);
		System.out.println("\n\nMatrix A - B = ");
		mc.printMatrix();
		
		mc=Matrix.matrixMul(ma,mb);
		System.out.println("\n\nMatrix A * B = ");
		mc.printMatrix();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -