0
点赞
收藏
分享

微信扫一扫

读入矩阵并打印每行,每列,正负对角线的值

追梦人的自留地 2022-04-21 阅读 95
java
package Work;

import java.util.Random;

/*
定义20*20矩阵并随机赋值,打印每行,每列,正负对角线的值
 */
public class Random1 {
    public static void main(String[] args) {
        //定义二维数组--并初始化每一个值
        int[][] arr = new int[20][20];
        Random1 rm = new Random1();
        int[][] arr1 = rm.input(arr);
        rm.printRow(arr1);
        rm.printColumn(arr1);
        rm.printForwardDiagonal(arr1);
        rm.printCounterDiagonal(arr1);
    }
    //定义给二维数组随机赋值的方法,并返回一个二维数组
    public int[][] input(int[][] arr) {
        Random r = new Random();
        for(int i = 0;i< arr.length;i++) {
            for(int j = 0;j<arr[i].length;j++) {
                arr[i][j] = r.nextInt(100);
            }
        }
        return arr;
    }
    //定义打印二维数组每一行并进行打印的方法
    public void printRow(int[][] arr) {
        int sum = 0;//用于记录每一行的和
        for(int i = 0;i<arr.length;i++) {
            for(int j = 0;j<arr[i].length;j++) {
                sum = sum +arr[i][j];
            }
            System.out.println("第"+(i+1)+" 行的和为"+sum);
        }
    }
    //定义打印二维数组每一列的方法
    public void printColumn(int[][] arr) {
        int sum = 0;
        for(int i = 0;i< arr.length;i++) {
            for(int j = 0;j<arr[i].length;j++) {
                sum = sum +arr[j][i];
            }
            System.out.println("第 "+(i+1)+" 列的和为"+sum);
        }
    }
    //定义打印二维数组正对角线方法
    public void printForwardDiagonal(int[][] arr ) {
        int sum = 0;
        for(int i =0;i< arr.length;i++) {
            sum = sum +arr[i][i];
        }
        System.out.println("正对角线的和为:"+sum);
    }
    //定义打印二维数组负对角线的方法
    public void printCounterDiagonal(int[][] arr) {
        int sum = 0;
        for(int i = 0;i< arr.length;i++) {
            sum = sum +arr[i][arr.length-i-1];
        }
        System.out.println("负对角线的和为:"+sum);
    }
}
举报

相关推荐

0 条评论