要求:实现动态的给数组添加元素效果,实现对数组扩容
1)原始数组使用静态分配;
2)增加的元素直接放在数组的末尾
3)用户可以通过如下方法来决定是否继续添加 y/n
做法:
定义一个新的数组arrNew,将arr的数组元素拷贝到arrNew数组,给arrNew最后一个数组赋值,让arr指向arrNew
ps:因为用户什么时候退出不确定,使用do-while + break来控制
//2024.07.02
//D:\javacode\chapter06\\ArrayAdd.java
import java.util.Scanner;
public class ArrayAdd {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
Scanner myScanner = new Scanner(System.in);
do{
int[] arrNew = new int[arr.length + 1];
for (int i = 0; i < arr.length; i++) {
arrNew[i] = arr[i];
}
System.out.println("please enter the element you want to add:");
arrNew[arrNew.length - 1] = myScanner.nextInt();
arr = arrNew;
System.out.println("=====arr=====");
for (int i = 0;i < arr.length; i++) {
System.out.print(arr[i] + "\t");
}
System.out.println();
System.out.println("Do you want to continue adding? y/n");
char key = myScanner.next().charAt(0);
if (key == 'n') {
break;
}
}while(true);
}
}
ps:比较字符型char是否相同只需用==即可