用Java实现矩阵的四则运算

一 项目说明 

实训目的:熟悉和掌握 Java 的基本语法,熟悉类的定义与对象的使用。

实训要求:设计一个类,该类中有行数和列数两个属性,以及有多个构造方法,能实现矩阵的加法、减法、矩阵与数的乘法、矩阵与矩阵的乘法及矩阵的转置。

二 项目实现设计 

 

首先在类的声明前,引入扫描仪import java.util.Scanner; 然后在主方法中创建一个扫描仪Scanner input=new Scanner(System.in);通过扫描仪从键盘输入的数据来判断程序需要执行的功能switch(value)。

如果输入的为1,则执行矩阵和矩阵的乘法,先创建一个MyMatrix类的对象matric,然后通过调用MyMatrix类中的matricOne()和matricTwo()方法来创建第一个和第二个矩阵,然后调用类中的matricCheng(int matric1[][],int matric2[][])方法来进行两个矩阵的乘法运算。最后通过类中的inputMatric(int matric[][])方法将结果输出。

如果输入的为2,则执行矩阵和数字的乘法,一样通过MyMatrix类中的matricOne()方法来创建一个矩阵,在通过扫描仪int y=input.nextInt();从键盘输入要与矩阵相乘的数。紧接着调用类中matricShuCheng(int matric[][],int x)方法执行矩阵和数字的运算,最后通过类中的inputMatric(int matric[][])方法将结果输出。

如果输入的为3,则执行矩阵的加法,通过调用MyMatrix类中的matricOne()和matricTwo()方法来创建第一个和第二个矩阵,然后调用类中matricAdd(int matric1[][],int matric2[][] )方法来进行两个矩阵的加法运算。最后通过类中的inputMatric(int matric[][])方法将结果输出。

如果输入的为4,则执行矩阵的减法,通过调用MyMatrix类中的matricOne()和matricTwo()方法来创建第一个和第二个矩阵,然后调用类matricJian(int matric1[][],int matric2[][] )方法来进行两个矩阵的减法运算。最后通过类中的inputMatric(int matric[][])方法将结果输出。

如果输入的为5,则执行矩阵的转置,通过调用MyMatrix类中的matricOne()方法来创建一个矩阵,然后调用类中的matricReserve(int matric[][])方法来进行矩阵的转置运算。最后通过类中inputMatric(int matric[][])方法将结果输出。

package experiment.one;

import java.util.Scanner;


public class MyMatrix {
	//创建矩阵
	public int[][] createMatric(int row,int colum){
		@SuppressWarnings("resource")
		Scanner input=new Scanner(System.in);
		int array[][]=new int[row][colum];
		for(int i=0;i
package experiment.one;

import java.util.Scanner;

public class TestMatrix {
	public static void main(String args[]){	
		@SuppressWarnings("resource")
		Scanner input=new Scanner(System.in);
		System.out.println("请输入你要选择的功能:"+"\n"+"1:矩阵与矩阵的乘法"+"\n"+"2:矩阵和数字的乘法"+"\n"+"3:矩阵的加法"+"\n"+"4:矩阵的减法"+"\n"+"5:矩阵的转置");
		int value=input.nextInt();
		MyMatrix matric=new MyMatrix();
		switch(value) {
		case 1:
			int matric1[][]=matric.matricOne();
			int matric2[][]=matric.matricTwo();
			int cheng[][]=matric.matricCheng(matric1,matric2);//矩阵和矩阵的乘法
		    matric.inputMatric(cheng);
		    break;
		case 2:
			int matric3[][]=matric.matricOne();
			System.out.print("请输入要和矩阵相乘的数字:");
			int y=input.nextInt();
			int shucheng[][]=matric.matricShuCheng(matric3, y);//矩阵和数字的乘法
			matric.inputMatric(shucheng);
		    break;
		case 3:
			int matric4[][]=matric.matricOne();
			int matric5[][]=matric.matricTwo();
			int add[][]=matric.matricAdd(matric4,matric5);//矩阵加法
			matric.inputMatric(add);
			break;
		case 4:
			int matric8[][]=matric.matricOne();
			int matric9[][]=matric.matricTwo();
			int jian[][]=matric.matricJian(matric8,matric9);//矩阵减法
			matric.inputMatric(jian);
			break;
		case 5:
			int matric10[][]=matric.matricOne();
			int reserve[][]=matric.matricReserve(matric10);//矩阵的转置
			matric.inputMatric(reserve);
			break;
		}
	}
}

 

你可能感兴趣的:(Java)