gpt4 book ai didi

java - 在Java中添加两个矩阵

转载 作者:行者123 更新时间:2023-11-29 07:48:56 25 4
gpt4 key购买 nike

我正在尝试将两个矩阵相加,但当编译器尝试调用 sum 方法时出现异常。

public static void main(String[] args) {

int[][] a = new int[3][3];
int[][] b = new int[3][3];

for (int i = 0; i < a.length; i++)
{
for (int j = 0; j < a[0].length; j++)
{
a[i][j] = Integer.parseInt(JOptionPane.showInputDialog("Enter a[" + i + "][" + j + "]"));
}
}
for (int i = 0; i < b.length; i++)
{
for (int j = 0; j < b[0].length; j++)
{
b[i][j] = Integer.parseInt(JOptionPane.showInputDialog("Enter b[" + i + "][" + j + "]"));
}
}

我在下一行得到异常。

    int[][] c = sum(a,b);

for (int[] row: c)
{
for (int e: row)
{
System.out.print(e + "\t");
}
}

}
public static int[][] sum(int[][] a, int[][] b)
{
int[][] c = new int[a.length][a[0].length];

for (int i = 0; i < a.length; i++)
{
for (int j = 0; i < a[i].length; j++)
c[i][j] = a[i][j] + b[i][j];
}
return c;
}

有人可以帮我吗?

最佳答案

你的内循环有错别字:

for (int j = 0; i < a[i].length; j++)

应该是

for (int j = 0; j < a[i].length; j++)

并导致 ArrayIndexOutOfBoundsExceptionj超出了数组的大小。

当异常发生时,首先看的是异常的名称。它通常非常有用。在这种情况下,它告诉我们我们不小心循环得太远了。如果名称没有提供信息,我们至少可以找出错误发生的位置。堆栈跟踪包含发生错误的行。如果这些都没有帮助/不存在,我们可以使用调试器,或沿途打印调试消息来诊断问题。

关于java - 在Java中添加两个矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22873461/

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