JAVA实现两个矩阵的加法和乘法运算

JAVA实现两个矩阵的加法和乘法运算
import java.util.Scanner;
public class AandM
{
public static void main(String[]args)
{
Scanner input=new Scanner(System.in);
System.out.print("请输入矩阵A的行数:");
int ah=input.nextInt();
System.out.print("请输入矩阵A的列数:");
int al=input.nextInt();
System.out.print("请输入矩阵B的行数:");
int bh=input.nextInt();
System.out.print("请输入矩阵B的列数:");
int bl=input.nextInt();
if(al!=bh&&(ah!=bh&&al!=bl))

{ System.out.println("不能进行矩阵相乘运算不能进行矩阵相加运算");}
else
{
if((al==bh)&&(ah!=bh&&al!=bl))

{ System.out.println("能进行矩阵相乘运算但不能进行矩阵相加运算");}
if(al!=bh&&ah==bh&&al==bl)

{ System.out.println("不能进行矩阵相乘运算但能进行矩阵相加运算");}
if(al==bh&&ah==bh&&al==bl)

{System.out.println("能进行矩阵相乘运算也能进行矩阵相加运算");}
int [][]a=new int [ah][al];
for(int i=0;i{
for(int j=0;j{
System.out.print("输入矩阵A的a["+i+"] ["+j+"]:");
a[i][j]=input.nextInt();
}
}
System.out.println();
int [][]b=new int [bh][bl];
for(int i=0;i{
for(int j=0;j

{
System.out.print("输入矩阵B的b["+i+"] ["+j+"]:");
b[i][j]=input.nextInt();
}
}


int[][]c=new int[a.length][b[0].length];
int[][]d=new int[a.length][b[0].length];
for(int i=0;i{
for(int j=0;j{
c[i][j]=0;
}
}
if((al==bh&&ah==bh&&al==bl)||(al!=bh&&ah==bh&&al==bl))

{

for(int i=0;i
{
for(int j=0;j{
d[i][j]=a[i][j]+b[i][j];
}
}
System.out.println();
System.out.println( "两矩阵相加的结果为:" );
String output="";
for(int i1=0;i1{
for(int j=0;j{
output+=d[i1][j]+" ";
}
output += '\n';
}
System.out.println(""+output);
}
if((al==bh&&ah==bh&&al==bl)||((al==bh)&&(ah!=bh&&al!=bl)))

{
for(int i=0;ifor(int j=0;j{
for(int k=0;k{
c[i][j]+=a[i][k]*b[k][j];
}
}
System.out.println();
System.out.println( "两矩阵相乘的结果为:" );
String out="";
for(int i=0;i{
for(int j=0;j{
out+=c[i][j]+" ";
}
out+= '\n';
}
System.out.println(""+out);
}
}
}
}

相关文档
最新文档