每日作业
矩形运算
设计一个程序: 输入一个3*3的矩形, 求矩形的两个对角线和
样例输入:
1 2 3
4 5 6
7 8 9
样例输出:
15, 15
1 package com.work; 2 3 import java.util.Scanner; 4 5 /** 6 * @author My 7 */ 8 public class Assignment_17 { 9 public static void main(String[] args) { 10 Scanner reading = new Scanner(System.in); 11 System.out.println("输入行数:"); 12 int m = reading.nextInt(); 13 System.out.println("输入列数:"); 14 int n = reading.nextInt(); 15 int[][] num = new int[m][n]; 16 System.out.println("输入"+m+"行"+n+"列的数组:"); 17 for (int i = 0; i < m; i++) { 18 for (int j = 0; j < n; j++) { 19 num[i][j] = reading.nextInt(); 20 } 21 } 22 int sum1 = 0,sum2 = 0; 23 if(m==n){ //行和列相等的情况 24 for (int i = 0; i < m; i++) { 25 sum1 += num[i][i]; 26 } 27 for (int i = 0; i < n; i++) { 28 sum2 += num[i][n-i-1]; 29 } 30 }else { //行和列不相等的情况 31 if (m>n){ //行大于列 32 int z=m-n; 33 int[][] num2 = new int[m][m]; 34 for (int i = 0; i < m; i++) { 35 for (int j = 0; j < n; j++) { 36 num2[i][j]=num[i][j]; 37 } 38 num2[i][m-z]=0; 39 } 40 for (int i = 0; i < m; i++) { 41 sum1 += num2[i][i]; 42 } 43 for (int i = 0; i < n; i++) { 44 sum2 += num2[i][n-i-1]; 45 } 46 }else { //行小于列 47 int x=n-m; 48 int[][] num2 = new int[n][n]; 49 for (int i = 0; i < m; i++) { 50 for (int j = 0; j < n; j++) { 51 num2[i][j] = num[i][j]; 52 } 53 num2[n-x][i]=0; 54 } 55 for (int i = 0; i < m; i++) { 56 sum1 += num2[i][i]; 57 } 58 for (int i = 0; i < n; i++) { 59 sum2 += num2[i][n-i-1]; 60 } 61 } 62 } 63 System.out.println("对角线之和:"); 64 System.out.println(sum1+" "+sum2); 65 } 66 }

浙公网安备 33010602011771号