我是java的新手,我想知道如何修复我的程序,该程序必须从用户输入中获取数字,然后将它们存储在数组中,然后向前打印这些数字然后向后打印。我设法让程序向前打印;但是,当我尝试向后打印时,我得到了
线程“main”中的异常java.lang.ArrayIndexOutOfBoundsException:4 在arrays4Days.arrayS1.main(arrayS1.java:55)
import java.util.*;
public class arrayS1 {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
System.out.print("How many numbers will you enter? ");
int count = console.nextInt();
int myArray[]= new int [count];
for (int i =0; i < myArray.length ; i++) {
System.out.print("Type a number: ");
int number=console.nextInt();
myArray[i]=number;
}
System.out.println();
System.out.println("Your numbers in forward order:");
for (int i = 0 ; i < myArray.length ; i++) {
System.out.println(myArray[i]);
}
System.out.println();
System.out.println("Your numbers in backward order:");
for (int i = myArray.length ; i> 0 ; i--) {
System.out.println(myArray[i]);
}
}
}
答案 0 :(得分:4)
请注意,在第一个循环中,i
从零开始,然后上升到 - 但不等于 - 数组的长度
for (int i = 0 ; i < myArray.length ; i++) {
所以第二个循环也应该从这个位置开始
for (int i = myArray.length - 1; i>= 0 ; i--) {
System.out.println(myArray[i]);
}
并且应该降到零