查看所有50道基础算法题请看:
Java的50道基础算法题
package Demo29Rec_Sum;
import java.util.Scanner;
public class Rec_Sum {
/**
* 求一个3*3矩阵对角线元素之和。
*/
/*
分析:首先,需要让用户输入一个3*3的矩阵数据,我觉得还是让用户输入三次,每次三个数字
其次,打印用户输入的矩阵,如:
23 23 23
34 54 34
45 56 56
计算这个矩阵的对角线元素,我觉得,把每次用户输入的字符串解析为一个数组,第一行:[0]+[2],第二行:[1],第三行:[0]+[2]
把矩阵中的数字相加就可以得到最终的结果。
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 让用户输入第一行数字
System.out.println("请输入矩阵的第一行,以(英文)逗号作为分割,每行三个:");
String line1 = sc.next();
System.out.println("请输入矩阵的第二行,以(英文)逗号作为分割,每行三个:");
String line2 = sc.next();
System.out.println("请输入矩阵的第三行,以(英文)逗号作为分割,每行三个:");
String line3 = sc.next();
// 将每行数据解析为数组
String[] line1n = line1.split(",");
String[] line2n = line2.split(",");
String[] line3n = line3.split(",");
System.out.println("您输入的3*3矩阵数字为:");
print(line1n);
print(line2n);
print(line3n);
int sum = 0;
sum=Integer.valueOf(line1n[0])+Integer.valueOf(line1n[2])+Integer.valueOf(line2n[1])
+Integer.valueOf(line3n[0])+Integer.valueOf(line3n[2]);
System.out.println("您输入的3*3矩阵的对角线上的数字之和为:"+sum);
}
public static void print(String[] line){
System.out.print(line[0]+" ");
System.out.print(line[1]);
System.out.println(" "+line[2]);
}
}