喂! 线程“主”java.lang.ArrayIndexOutOfBoundsException 中的异常? 包学习;
public class Array {
public static void main(String[] args) {
int i;
int[] ar1 = new int[50];
for(i = 0; i < ar1.length; i++)
{
ar1[i] = i * 2 + 1;
System.out.print(ar1[i] + " ");
};
System.out.println();
for(i = ar1.length; i > -1; i--)
{
ar1[i] = i * 2 - 1;
System.out.print(ar1[i]);
};
}
}
编译后控制台显示:
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 50 at studing.Array.main(Array.java:18)
我想要第二行的输出控制台 99 97 95 93 ...
提前致谢!
最佳答案
您在第二个循环中从 ar1.length
开始,这是越界的。
要使其正常工作,您需要从 ar1.length-1
开始,这是数组的最大索引。
这是因为数组在 Java 中是基于 0 的,如@Maroun Maroun 的评论中所述。
关于java - 使用数组时代码出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25765532/