设计一个矩阵类,其中,封装有一个数组,含求所有元素和的方法。另有一个方阵类,继承矩阵类,构造时要求数据的行、列相同,并提供求主对角线元素和的方法,用随机数构建6x6方阵,输出方阵,并求所有元素和、主对角线元素和。
package com.me;
import java.util.Random;
public class Juzhen {
int sum1=0; //定义所有元素和的初始值为0
private int a[][]=new int[100][100]; //封装一个整型数组a[][],行列元素为长度为100
public Juzhen(int b[][]){
for(int i=0;i<b.length;i++)
for(int j=0;j<b[i].length;j++)
a[i][j]=b[i][j]; //将方阵b[i][j]
}
//求所有元素和
public int add1(){
for(int i=0;i<a.length;i++)
for(int j=0;j<a[i].length;j++)
sum1+=a[i][j];
return sum1;
}
public static void main(String[] args) {
int b[][]=new int [6][6];//定义一个6x6的方阵
System.out.println("矩阵元素:");
for(int i=0;i<b.length;i++) {
for (int j = 0; j < b[i].length; j++) {
Random r = new Random();
b[i][j] = 1+r.nextInt(99); //随机生成0~98的数再加上1
System.out.printf("%4d",b[i][j]);
}
System.out.println();
}
Juzhen m=new Juzhen(b);
System.out.println("所有元素和:"+m.add1());
System.out.println("主对角线元素和:"+Matrix1.add2(b));
}
}
class Matrix1 extends Juzhen{
public static int sum2=0;
public Matrix1(int b[][]){
super(b);
}
//求主对角元素和
public static int add2(int b[][]){
for(int i=0;i<b.length;i++)
sum2+=b[i][i];
return sum2;
}
}
运行效果: