*8.2(求矩阵对角线元素的和)使用下面的方法头编写一个方法,求n*n的double类型矩阵中主对角线上所有数字的和。编写一个程序,读取一个4*4的矩阵,显示主对角线和
题目
题目描述与运行示例
8.2(求矩阵对角线元素的和)使用下面的方法头编写一个方法,求nn的double类型矩阵中主对角线上所有数字的和:
public static double sumMajorDiagonal(double[][] m)
编写一个程序,读取一个4*4的矩阵,显示主对角线和。下面是一个运行示例:
Enter a 4-by-4 matrix row by row:
1 2 3 4.0
5 6.5 7 8
9 10 11 12
13 14 15 16
Sum of the elements in the major diagonal is 34.5
破题
- 主方法:声明一个长度为4*4的double型矩阵
- 主方法:使用双层循环读取控制台输入为矩阵赋值
- 主方法:创建一个double对象,用于接收方法返回值
- 主方法:调用sumMajorDiagonal方法,使用刚刚创建的double对象接收返回值
- 主方法:输出结果
- sumMajorDiagonal方法:创建一个int型对象并赋值矩阵length,一个double对象用于保存加和
- sumMajorDiagonal方法:使用循环读取对角线上元素的值
- sumMajorDiagonal方法:返回加和结果
代码
import java.util.Scanner;
public class Test8_2 {
public static void main(String[] args) {
//1. 主方法:声明一个长度为4*4的double型矩阵
double[][] m = new double[4][4];
//2. 主方法:使用双层循环读取控制台输入为矩阵赋值
System.out.println("Enter a 4-by-4 matrix row by row:");
Scanner input = new Scanner(System.in);
for (int a = 0 ; a < 4 ; a++){
for (int b = 0 ; b < 4 ; b++){
m[a][b] = input.nextDouble();
}
}
//3. 主方法:创建一个double对象,调用sumMajorDiagonal方法接收方法返回值
double result = sumMajorDiagonal(m);
//4. 主方法:输出结果
System.out.print("Sum of the elements in the major diagonal is " + result);
}
public static double sumMajorDiagonal(double[][] m){
//5. sumMajorDiagonal方法:创建一个int型对象并赋值矩阵length,一个double对象用于保存加和
int length = m.length;
double sum = 0;
//6. sumMajorDiagonal方法:使用循环读取对角线上元素的值
for (int i = 0 ; i <length ; i++){
sum += m[i][i];
}
//7. sumMajorDiagonal方法:返回加和结果
return sum;
}
}