public static void main(String[] args) { // 数组扩容,数组一旦被创建不可被改变 // 若要缩容则需要新建数组 Scanner scanner = new Scanner(System.in); System.out.println("数据缩容:"); System.out.println("请先输入五个数字"); int[] num = new int[5]; // 初始化 for (int i = 0; i < num.length; i++) { int j = scanner.nextInt(); num[i]= j; } boolean d = true; ArrayDemo03 ACC = new ArrayDemo03(); ACC.capacity(d,num); } public void capacity(boolean d,int[] num){ Scanner scanner = new Scanner(System.in); while (d){ System.out.println("数据存入完成请选择删除第几个数据数据"); int b = scanner.nextInt(); // 创建一个新的数组 int[] i = new int[num.length-1]; // 如果删除第一个数字,则直接把旧数组后面的值赋给新数组 if (b == 1){ for (int j = 0; j < i.length; j++){ i[j] = num[j+1]; } } else { // 首选将要删除值的前面的数据赋予新数组 for (int j = 0; j < b; j++) { i[j] = num[j]; } // 任何将要删除值的后面赋予新数组 for (int j = b-1; j < i.length; j++) { i[j] = num[j+1]; } } // 使num指向新的内存数组 num = i; System.out.println("输入true继续删除数据,输入false退出"); d = scanner.nextBoolean(); } // 遍历数组 for (int e: num) { System.out.println(e); } }
Java 数组缩容
最新推荐文章于 2024-04-21 19:34:52 发布