import java.util.Scanner;
public class ArrayAdd{
public static void main(String[] args){
//数组扩容
//{1,2,3}→{1,2,3,4}
//用户输入y/n
//如果输入y,则继续扩容
//输入n,则结束扩容
Scanner myScanner = new Scanner(System.in);
int[] arr = {1, 2, 3};
int[] arrNew = new int[arr.length + 1];
for(int i = 0;i < arr.length;i++){
arrNew[i] = arr[i];
}
arrNew[arrNew.length - 1] = 4;
arr = arrNew;
for(int i = 0;i < arrNew.length;i++){
System.out.println(arrNew[i]);
}
System.out.println("请输入y/n");
char response = myScanner.next().charAt(0);
if(response == 'y'){
System.out.println("请输入需要添加的数字:");
int num = myScanner.nextInt();
int[] arrNew2 = new int[arr.length + 1];
for(int i = 0;i < arr.length;i++){
arrNew2[i] = arr[i];
}
arrNew[arrNew2.length - 1] = num;
for(int i = 0;i < arrNew2.length;i++){
System.out.println(arrNew2[i]);
}
arr = arrNew2;
}
}
}
请问为什么运行结果显示数组越界呀?谢谢!