我有這個代碼,但我不斷收到此錯誤消息,我不知道爲什麼?線程「主」java.lang.ArrayIndexOutOfBoundsException異常的錯誤消息:
異常在線程 「主」 java.lang.ArrayIndexOutOfBoundsException:2 在 javaapplication28.JavaApplication28.main(JavaApplication28.java:38)1 2 Java結果:1
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("This program transposes a matrix.");
System.out.println("Please enter the number of rows");
int rows = input.nextInt();
System.out.println("User enters: "+rows);
System.out.println("Please enter the number of columns");
int columns = input.nextInt();
System.out.println("User enters: "+columns);
int [][]matrix=new int[rows][columns];
for(int i=0;i<matrix.length;i++){
for(int j=0;j<matrix[i].length;j++){
System.out.print("Enter value for row [" +i+ "] column [" +j+"]:");
matrix[i][j]=input.nextInt();
}
}
for(int i=0;i<=matrix.length;i++){
System.out.println();
for(int j=0;j<=matrix.length;j++){
System.out.print(matrix[i][j]+" ");
}
}
System.out.println("The transpose of this matrix has" +columns+"rows and"+rows+"columns and the transpose is:");
for(int i=0;i<=matrix.length;i++){
System.out.println();
for(int j=0;j<=matrix.length;j++){
System.out.print(matrix[j][i]+" ");
}
}}
}
對於一般情況(不規則數組),不應該是'j
另外,轉置代碼是錯誤的,除非矩陣總是正方形,否則不能像一般情況下那樣交換索引。 –
@JimGarrison好吧,如果你進入第二'for'i = 0;所以你可以使用'i'或'0'。一樣的東西。誠然,使用索引不是好技術。對於這個例子他有方矩陣。否則我可以用其他方式寫。 –