在Java中数组在定义的时候已经指定了大小。所以要想在数组中添加新的元素就要引入一个新的数组。
思路:定义一个新数组,这个数组的长度比要扩容之前的长度要多一个,再将旧数组的元素赋给新数组,然后将要添加的元素加入到新数组中,最后将旧数组指向新数组,由于数组是引用类型,所以是地址传递,这时候旧数组就指向了新数组里被扩容后的内容。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int[] arr = {1,2,3};
Scanner inputScanner = new Scanner(System.in);
int[] arrNew = new int[arr.length+1];
for(int i =0; i<arr.length; i++) {//将原数组里的元素依次赋给新数组
arrNew[i] = arr[i];
}
System.out.print("请输入要添加的一个整数:");
arrNew[arr.length] = inputScanner.nextInt();//将要加入的元素存在新数组中
arr = arrNew;//让arr指向arrNew的空间,arr里的元素就变成了扩容后的内容
System.out.println("扩容后的新数组为:");
for(int i = 0;i<arr.length;i++) {
System.out.print(arr[i]+" ");
}
}
}
输入:
5
输出:
扩容后的新数组为:
1 2 3 5