Java实现矩阵对角线元素之和

一、题目

定义一个二维数组用于存储一个 矩阵的元素值,并求出这个矩阵的对角线元素之和,然后输出计算结果。

二、分析

左对角线:行列相等,即i == j
右对角线:行列相加等于行数减一,即 i+j == array.length -1
Java实现矩阵对角线元素之和_第1张图片

三、代码

package com.lyp.test;

import java.util.Scanner;

public class test {
    public static int[] sum(int [][] array){
        int[] sum = {0,0};
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[0].length; j++) {
                if (i == j){
                    sum[0] += array[i][j];
                }
                if (j == array.length - i -1){
                    sum[1] += array[i][j];
                }
            }
        }
        return sum;
    }

    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.println("请输入行数和列数:");
        int x = s.nextInt();
        int y = s.nextInt();
        int[][] array  = new int[x][y];//初始化二维数组
        System.out.println("请输入数组元素");
        for (int i = 0; i < x; i++) {
            for (int j = 0; j < y; j++) {
                array[i][j] = s.nextInt();
            }
        }
        int[] res = sum(array);
        System.out.println("对角线元素之和分别为:"+res[0]+"和"+res[1]);
    }

}

四、输出结果

Java实现矩阵对角线元素之和_第2张图片

你可能感兴趣的:(Java,Java数据结构与算法,矩阵,java,线性代数)