我有一个关于打印数组的问题。这些方法从创建自文件的数组中接收数据。输出应该每行包含10个整数,对于文件中包含的所有整数都应该如此。假设文件包含{0,1,2,3,4,5},则输出应为:
0 1 2 3 4 5
第一种方法完全正常。第二种方法会返回一个错误,我会在下面包含。有人能帮我弄清楚问题出在哪里吗?我已经尝试过谷歌搜索,但仍然不明白。以下是代码:
public static void printArray(int[] array){
System.out.println("Printing array: ");
for (int i = 1; i<array.length+1; i++){
System.out.printf("%7d", array[i-1]);
if (i%10==0){
System.out.println();
}
}
System.out.println();
}
public static void reverseArray(int[] array){
System.out.println("Printing reversed array: ");
int a=0;
for (int i = array.length; i>-1; i--){
System.out.printf("%7d", array[i]);
a++;
if (a%10==0){
System.out.println();
}
}
System.out.println();
}
以下是错误信息:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at Paniagua_ArrayProcessing.reverseArray(Paniagua_ArrayProcessing.java:49)
at Paniagua_ArrayProcessing.main(Paniagua_ArrayProcessing.java:8)
感谢你的帮助!希望这只是一个简单的问题。
编辑:这是在Java中。
for (int i = array.length - 1; i >= 0; i--)
。请注意不要改变原始意思,使翻译更加通俗易懂。 - fge