gpt4 book ai didi

java - 一维数组的矩阵运算

转载 作者:行者123 更新时间:2023-12-02 13:23:05 30 4
gpt4 key购买 nike

以下两种方法可将两个一维数组(每个数组包含五个整数)相乘,并显示生成的二维 (5x5) 数组。不幸的是,我没有得到我希望的结果,因为我得到了 ArrayIndexOutOfBoundsException。我检查了我的代码以查找错误,但似乎找不到错误。错误消息还告诉我错误发生在 mult[i][j] = array1[i]*array2[j]; 语句处。

public static int [][]  matrixMult(int [] array1, int [] array2){

int [][] mult = new int [imax][jmax];
int i = 0;
int j = 0;

while(i < imax){
while(j < jmax){

mult[i][j] = array1[i]*array2[j];

if(j == jmax-1){

i++;
j = 0;

}else{

j++;
}
}
}

return mult;
}

public static void print2DArray(int array[][]){

int i = 0;
int j = 0;

while(i < imax){
while(j < jmax){

System.out.print("(" + i + ", " + j + ") " + array[i][j]);

if(j == jmax-1){

i++;
j = 0;

}else{

j++;
}

}
}
}

最佳答案

j == jmax-1时,您应该中断内部循环,否则在下一次迭代中i将变为5,这将给您带来ArrayIndexOutOfBoundsException。

if(j == jmax-1){
i++;
j = 0;
break; //exit the inner loop
}else{
j++;
}

关于java - 一维数组的矩阵运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43486816/

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