/*
* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:二维数组的一种加法运算
* 作 者:薛广晨
* 完成日期:2011 年 09 月 13 日
* 版 本号:x1.0
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述: 求出二维数组(行数和列数必须相等)的非对角线元素之和,即求两条对角线之外的元素之和
* 程序输出:
* 程序头部的注释结束
*/
package xue.com;
public class TestMatrix {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[][] a={{1,1,1,1},{1,2,2,1},{1,2,2,1},{1,1,1,1}};//初始化数组如4*4
printMatrix(a);//按二维方式输出数组
int sum=addMatrix(a);
System.out.println("非对角线元素之和为:");
System.out.println(sum);
}
static void printMatrix(int[][] a){
System.out.println("数组为:");
for(int i = 0; i < a.length; i++)
{
for(int j = 0; j < a[i].length; j++)
{
System.out.print(a[i][j] + " ");
}
System.out.println();
}
}
static int addMatrix(int[][] a){
int sum = 0;
for(int i = 0; i < a.length; i++)
{
for(int j = 0; j < a[i].length; j++)
{
if(i != j && i + j != a.length - 1)
sum = sum + a[i][j];
}
}
return sum;
}
}
运行结果:
数组为:
1 1 1 1
1 2 2 1
1 2 2 1
1 1 1 1
非对角线元素之和为:
8