Jim*_*myK 13 java arrays for-loop
这是我的代码:
int myArray[]={1,2,3,4,5,6,7,8};
for(int counter=myArray.length; counter > 0;counter--){
System.out.println(myArray[counter]);
}
Run Code Online (Sandbox Code Playgroud)
我想按降序打印出数组,而不是按升序排列(从数组的最后一个元素到第一个元素),但我只是抛出了这个错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
at task1.main(task1.java:14)
Run Code Online (Sandbox Code Playgroud)
为什么会这样?我希望通过使用myArray.length将计数器设置为8,代码将打印出数组的第8个元素,然后在此之前继续打印.
Tim*_*per 60
Java中的数组索引是从0给length - 1,不1给length,因此你应该相应地分配你的变量,并使用正确的比较操作.
你的循环应该如下所示:
for (int counter = myArray.length - 1; counter >= 0; counter--) {
Run Code Online (Sandbox Code Playgroud)
使用myArray.length-1
for(int counter=myArray.length-1; counter >= 0;counter--){
System.out.println(myArray[counter]);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
85491 次 |
| 最近记录: |