实现矩阵对角线的加法和乘法运算
//数组的对角线求出行数和列数相等矩阵的非对角线元素之和,矩阵用二维数组表示。
package shiyan;
import java.util.*;
public class Shiyan3_12 {
public static void main(String[] args) {
Shiyan3_12 s=new Shiyan3_12();
}
public Shiyan3_12()
{
Scanner sca=new Scanner(System.in);
System.out.println("请输入选择:");
System.out.println("1.实现矩阵的加法");
System.out.println("2.实现矩阵的乘法");
int a=sca.nextInt();
switch(a)
{
case 1:jia();break;
case 2: cheng();break;
default:break;
}
}
public void jia()
{
int sum=0;
Scanner sca=new Scanner(System.in);
int[][] b = null;
System.out.println("行数和列数:");
int a=sca.nextInt();
b=new int[a][a];
System.out.println("输入数据"+a+"行"+a+"列");
int n=0;
for(int i=0;i<a;i++)
{
for(int j=0;j<a;j++)
{
b[i][j]=sca.nextInt();
}
}
System.out.println("数组:");
for(int i=0;i<a;i++)
{
for(int j=0;j<a;j++)
{
System.out.print(b[i][j]+" ");
n++;
}
if(n%a==0)
{
System.out.println();
}
}
for(int i=0;i<a;i++)
{
for(int j=0;j<a;j++)
{
if(i==j||i+j==a-1)
{
sum=sum+b[i][j];
}
}
}
System.out.println("对角线之和:");
System.out.println(sum);
}
public void cheng()
{
int sum=1;
Scanner sca=new Scanner(System.in);
int[][] b = null;
System.out.println("行数和列数:");
int a=sca.nextInt();
b=new int[a][a];
System.out.println("输入数据"+a+"行"+a+"列");
int n=0;
for(int i=0;i<a;i++)
{
for(int j=0;j<a;j++)
{
b[i][j]=sca.nextInt();
}
}
System.out.println("数组:");
for(int i=0;i<a;i++)
{
for(int j=0;j<a;j++)
{
System.out.print(b[i][j]+" ");
n++;
}
if(n%a==0)
{
System.out.println();
}
}
for(int i=0;i<a;i++)
{
for(int j=0;j<a;j++)
{
if(i==j||i+j==a-1)
{
sum=sum*b[i][j];
}
}
}
System.out.println("对角线之乘:");
System.out.println(sum);
}
}