主对角线矩阵的总和JAVA
我需要在Java中找到矩阵中主对角线的总和。我的程序适用于矩阵(如1x2和2x2),但是当行数大于列数时(即3x2),我的代码会抛出一个超出界限的异常。有什么方法可以解决它吗?主对角线矩阵的总和JAVA
// sum of major diagonal in matrix public static int majorDiagonal(int[][] array){
int sumMD = 0;
for (int i = 0, j = 0, k = array.length; i < k && j < k; i++, j++) {
sumMD += array[i][j];
}
return sumMD;
}
回答:
你并不需要同时i
和j
,因为他们总是在你的代码相同的值。
因此,您的延续条件i < k && j < k
没有太大意义,因为如果i
小于k
,那么j
也会如此。
将for循环的延续条件更改为i < k && i < array[0].length
。这将检查i
是否小于列数和行数,这是您需要的条件。
for (int i = 0, k = array.length; i < k && i < array[0].length; i++) { sumMD += array[i][i];
}
以上是 主对角线矩阵的总和JAVA 的全部内容, 来源链接: utcz.com/qa/258900.html