gpt4 book ai didi

java - 添加 4x4 数组的对角线

转载 作者:行者123 更新时间:2023-11-30 03:39:21 27 4
gpt4 key购买 nike

我正在尝试添加用户输入的 4x4 矩阵的对角线,当我运行程序时,我添加数组中所有 4 个值的行给出了错误。

我没有正确添加它们吗?

import java.util.Scanner;

public class Set_9_P7_2 {

public static void main(String[] args) {

double x;
double[][] sumMajorDiagnol = new double[4][4];

System.out.println("Enter a 4-by-4 matrix row by row:");
Scanner input = new Scanner(System.in);
for (int i = 0; i < sumMajorDiagnol.length; i++) {
for (int j = 0; j < sumMajorDiagnol.length; j++) {
sumMajorDiagnol[i][j] = input.nextDouble();
}
}

x = sumMajorDiagnol[1][1] + sumMajorDiagnol[2][2] + sumMajorDiagnol[3][3] + sumMajorDiagnol[4][4];

System.out.println("The sum of the elements in the major diagnal is " + x);

}

}

我没有打印实际的答案 4,而是收到以下错误:

    Enter a 4-by-4 matrix row by row:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
at Set_9_P7_2.main(Set_9_P7_2.java:21)

指向这一行:

x = sumMajorDiagnol[1][1] + sumMajorDiagnol[2][2] + sumMajorDiagnol[3][3] + sumMajorDiagnol[4][4];

这不是您应该添加它们的方式吗?

最佳答案

对角线的索引应从 [0][0][3][3]。使用 for 循环而不是显式地写下来会更有意义:

double sum=0;
for (int i=0;i<sumMajorDiagnol.length;i++)
sum+=sumMajorDiagnol[i][i];

关于java - 添加 4x4 数组的对角线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27133169/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com