/* (程序头部注释开始) </p><p>* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* 作 者: 李兆庆
* 完成日期: 2012 年 9 月 9 日
* 输入描述:
* 问题描述及输出: 编写一个Java应用程序,实现功能:求出二维数组(行数和列数必须相等)的非对角线元素之和,即求两条对角线之外的元素之和
* 程序头部的注释结束
*/
public class array {
/**
* @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(sum);
}
static void printMatrix(int[][] a){
for (int i = 0; i < 4; i++ ) //依次输出二维数组的各个元素
{
for (int j = 0; j < 4; j++)
{
System.out.print(a[i][j]);
}
System.out.println(); //每输出完一行后执行换行,正确输出数组元素
}
}
static int addMatrix(int[][] a){
int s = 0;
for ( int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
{
if((i==0&&j==0)||(i==0&&j==3)||(i==3&&j==0)||(i==3&&j==3))//条件控制当为对角元素师不对钙元素进行处理。
{
}
else
{
s = s + a[i][j]; //否则将元素相加求和。
}
}
}
return s;
}
}