设计一个矩阵类,其中,封装有一个数组,含求所有元素和的方法。方阵继承矩阵类,构造时要求数据的行、列相同,并提供求主对角线元素和的方法,用随机数构建6x6方阵,输出方阵,并求所有元素和、主对角线元素和。
源代码如下:
package pk1;
class Matrix {
int arr[][];
public Matrix(int[][]a) {
arr=new int[a.length][a[0].length];
for(int i=0;i<a.length;i++)
for(int j=0;j<a[0].length;j++)
arr[i][j]=(int)(Math.random()*100);
}
public int add1() {
int s=0;
for(int i=0;i<arr.length;i++)
for(int j=0;j<arr[0].length;j++)
s+=arr[i][j];
return s;
}
public void output() {
for(int i=0;i<arr.length;i++)
{
for(int j=0;j<arr[0].length;j++)
System.out.print(arr[i][j]+" ");
System.out.println();
}
}
}
public class S_matrix extends Matrix{
public S_matrix(int[][]a) {
super(a);
}
public int add2() {
int s=0;
for(int i=0;i<arr.length;i++)
s+=arr[i][i];
return s;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int a[][]=new int[3][5];
Matrix x=new Matrix(a);
x.output();
System.out.println("sum of all elements:"+x.add1());
int b[][]=new int[6][6];
S_matrix y=new S_matrix(6);
y.output();
System.out.println("sum of all elements:"+y.add1());
System.out.println("sum of all diagonal elements:"+y.add2());
}
}