【发布时间】:2018-04-12 04:03:30
【问题描述】:
使用二维数组来表示矩阵。 计算矩阵的乘积并将数据存储在新的二维数组中。 打印矩阵 A 第 2 行和矩阵 B 第 1 列的乘积。 您想将 A 和 B 相乘以找到乘积矩阵 C。为方便起见,假设(现在)您只想计算乘积矩阵 C 中第 2 行第 1 列的值。 但是,要计算矩阵 C 的第 2 行第 1 列的值,您需要计算 A 的整个第 2 行和 B 的整个第 1 列的“点积”:
我的程序告诉我,我的数组索引超出范围,异常为 4,但我不知道如何解决它
public class lab
{
public static void main(String[] args)
{
int[][] A = { {10,55,4,89,39} , {45,9,49,98,23} , {4,8,90,23,9}
{8,32,80,2,31} };
int[][] B = { {10,55,4,89,39} , {45,9,49,98,23} , {4,8,90,23,9} , {8,32,80,2,31} };
int[][] C = new int[A.length][B[0].length];
int sum = 0;
for (int i = 0 ; i < 5 ; i++)
{
sum = sum + A[2][i]*B[i][1];
}
C[2][1] = sum;
System.out.println(sum);
} // end main
} // end class
输出应该是:
1616
【问题讨论】:
-
你在哪一行得到这个异常?
-
在:sum = sum + A[2][i] * B[i][1]
-
B 只有 4 个元素。但您正在尝试访问 5 个元素。改变循环
-
发布您需要计算的方程式,例如 45*16 + 35*2 + 等 ..
标签: arrays matrix indexoutofboundsexception