Java 2x3转置矩阵中的ArrayIndexOutofBoundsException
我正在做矩阵转置,下面的代码适用于2x2转置矩阵,但它不适用于2x3转置矩阵,请帮助我犯了什么错误 例外情况: 线程“main”java.lang.ArrayIndexOutOfBoundsException中出现异常异常:2Java 2x3转置矩阵中的ArrayIndexOutofBoundsException,java,matrix,Java,Matrix,我正在做矩阵转置,下面的代码适用于2x2转置矩阵,但它不适用于2x3转置矩阵,请帮助我犯了什么错误 例外情况: 线程“main”java.lang.ArrayIndexOutOfBoundsException中出现异常异常:2 包装Sep20; 导入java.util.Scanner; 公共类TMatrix{ 公共静态void main(字符串[]args){ 扫描仪输入=新扫描仪(系统输入); System.out.println(“输入行数”); int row=in.nextInt();
包装Sep20;
导入java.util.Scanner;
公共类TMatrix{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
System.out.println(“输入行数”);
int row=in.nextInt();
System.out.println(“输入冒号”);
int col=in.nextInt();
int first[][]=新的int[行][col];
int转置[][]=新的int[col][row];
System.out.println(“输入矩阵”);
对于(int i=0;i
对于(int j=0;j转置矩阵是int[col][row]
,因此在打印时必须切换i
和j
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++)
{
System.out.print(transpose[j][i]+"\t");
}
System.out.println(); // print each row on a new line
}
for(int i=0;i|
现在我的代码工作了,我忘了在最后一个for循环中更改条件
for (int i = 0; i <col; i++) {
for (int j = 0; j<row ; j++) {
System.out.print(transpose[i][j]+"\t");
}
for(int i=0;i问题在于打印
通过切换索引,可以正确地将2x3转换为3x2,但仍在尝试打印2x3矩阵
只需更改
限制的
for (int i = 0; i <col; i++) {
for (int j = 0; j <row; j++) {
System.out.print(transpose[i][j]+"\t");
}
}
for(int i=0;我从不复制和粘贴代码:P-1——错误消息直接指向了有问题的行。你应该在问题中识别出那行。@FaddishWorm-不,从来没有人这样做过。或者至少Lovelace女士没有…非常喜欢。
for (int i = 0; i <col; i++) {
for (int j = 0; j <row; j++) {
System.out.print(transpose[i][j]+"\t");
}
}