为了账号安全,请及时绑定邮箱和手机立即绑定

二维数组问题


把1—36分别放入二维数组中,计算数组对角元素之和。(即6 * 6的数组) 这个怎么写???

正在回答

2 回答

int[][] nums = new int[6][6];

int num = 0;

int sum = 0;

int sum2 = 0;

for(int i=0;i<6;i++){

for(int j=0;j<6;j++){

nums[i][j] = ++num;

}

}

for(int i = 0; i< nums.length;i++){

sum += nums[i][i];

sum2 += nums[i][nums.length-i-1];

}

System.out.println(sum);

System.out.println(sum2);


0 回复 有任何疑惑可以回复我~
#1

qq_雨过之后_1 提问者

非常感谢!
2017-06-24 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//594d199900013a4804920384.jpg

/**
* Created by harmony on 2017/6/23.
* 这个方法适用于求 1-N2(N的平方)矩阵对角线和
*
*/
public class Matrix {
   private int[][] matrix;
   public static void main(String[] args)
   {
       Matrix matrix = new Matrix();
       matrix.createMatrix(6); //此时N的值为6
       matrix.loadKeys();
       System.out.println("对角和为:"+ matrix.calSum());
   }
   //分配矩阵空间
   // 这里用length表示 N
   public void createMatrix(int length)
   {
       matrix = new int [length][length];
   }
   //向矩阵中添加数据
   public void loadKeys()
   {
       int num = 1;//num 的范围为1-N2(N的平方)
       for (int i = 0; i < matrix.length;i++)
           for (int j = 0;j < matrix[i].length; j++,num++)
               matrix[i][j] = num;
   }
   //计算对角和
   public int calSum()
   {
       int sum = 0;
       int i=0,j = matrix.length - 1;
       for (;i < j; i++,j--) {
           sum = sum + matrix[i][i] + matrix[j][j] + matrix[i][j] + matrix[j][i];
       }
       if (i == j)
           sum = sum + matrix[i][i];
       return sum;
   }
}


0 回复 有任何疑惑可以回复我~
#1

qq_雨过之后_1 提问者

多谢多谢
2017-06-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165258    人
  • 解答问题       17582    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

二维数组问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信