黑马程序员技术交流社区

标题: 题目:求一个3*3矩阵对角线元素之和 [打印本页]

作者: W1058330629    时间: 2016-7-29 22:46
标题: 题目:求一个3*3矩阵对角线元素之和
题目:求一个3*3矩阵对角线元素之和
作者: xiaobokk    时间: 2016-7-29 23:56
这里面的思想有一个是:①行和列的索引一样时,该数为对角线上的一个值;
②对角线上索引值相加值为一个数(33矩阵为2);

③循环遍历出来的话,用求和的思想就可以计算出来了)




[Java] 纯文本查看 复制代码
import java.util.Scanner;
class Swap {
        public static void main(String[] args){               
                //通过手动改制的方法输入一个二维数组
                int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};        //定义一个33矩阵用二维数组实现
                int sum = getSum(arr);                //获取对角线值的和
                System.out.println(sum);        //打印该和       
        }                                                                                       
       
        static int getSum(int[][] arr) {        //获取33矩阵对角线之和
                int sum = 0;
                for (int i=0;i<arr.length ;i++ ) {        //循环行
                        for (int j = 0;j<arr.length ;j++ ) {        //循环列
                                if(i==j || i+j==2 ){        //行索引与列索引一样时或相加为2时
                                        sum += arr[j];
                                }
                        }
                }
                return sum;
        }
}


希望可以帮到你,但是这里有很多可以改进的,加油

作者: 13411939415    时间: 2016-7-30 19:25
这个简单啊。。。
int sum = 0;
for(int i = 0; i < arr.length; i++) {    //arr[][] 就是你的矩阵的二维数组了,arr[i][i]就是对角线的元素
        sum += arr[i][i];
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2