数组添加/扩容和数组缩减
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                数组添加/扩容和数组缩减
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                數組添加/擴容
需求:實現動態的給數組添加元素效果,實現對數組擴容。ArrayAdd.java
 1) 原始數組使用靜態分配 int[] arr = {1,2,3}
 2) 增加的元素 4,直接放在數組的最后 arr = {1,2,3,4}
 3)用戶可以通過如下方法來決定是否繼續添加,添加成功,是否繼續?y/n
思路分析:1.定義初始數組 int[] arr = {1,2,3}//下標 0-2
 2. 定義一個新的數組 int[] arr1 = new int[arr.length+1];
 3. 遍歷 arr 數組,依次將 arr 的元素拷貝到 arr1 數組
 4. 將 4 賦給 arr1[arr.length] = 4;把 4 賦給 arr1 最后一個元素
 5. 讓 arr 指向 arr1 ; arr = arr1; 那么 原來 arr 數組就被銷毀
 6. 創建一個 Scanner 可以接受用戶輸入
 7. 因為用戶什么時候退出,不確定,使用 do-while + break 來控制
- 代碼 package com.itheima.day2;import java.util.Scanner;//需求:給數組int[] arr = {1, 2, 3}添加一個元素4,得到int[] arr = {1, 2, 3,4},
// 用戶是否繼續添加,添加成功,是否繼續?y/n
public class test6 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);do {int[] arr = {1, 2, 3};int[] arr1 = new int[arr.length + 1];//創建一個新數組for (int i = 0; i < arr.length; i++) {arr1[i] = arr[i];//將arr數組拷貝給數組arr1}System.out.println("請輸入你要添加的元素:");arr1[arr.length] = sc.nextInt();//給arr1數組添加元素值為4arr = arr1;//將添加元素后的arr1數組拷貝回給arr數組System.out.println("-----元素擴容后的情況------");for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + "\t");//對arr數組進行遍歷輸出}System.out.println();System.out.println("是否要繼續添加?y/n");char key = sc.next().charAt(0);if (key == 'n') {System.out.println("++++你退出了添加++++");break;}} while (true);}
}
 執行結果: 
?
數組縮減
需求:有一個數組 {1, 2, 3, 4, 5}, 可以將該數組進行縮減,提示用戶是否繼續縮減,每次縮減最后那個元素。當只剩下最后一個元素,提示,不能再縮減。
思路分析:數組添加(擴容)的逆向思維
- 代碼 package com.itheima.day2;import java.util.Scanner;// 需求:有一個數組 {1, 2, 3, 4, 5}, 可以將該數組進行縮減,提示用戶是否繼續縮減, // 每次縮減最后那個元素。當只剩下最后一個元素,提示,不能再縮減。 public class test7 {public static void main(String[] args) {int[] arr = {1, 2, 3, 4, 5};Scanner sc = new Scanner(System.in); //掃描器(導包)do { // //定義一個數組長度為arr1.length-1的數組去接收縮減后剩下要存儲的元素int[] arr1 = new int[arr.length - 1];//縮減 => 每次少遍歷一個元素for (int i = 0; i < arr.length - 1; i++) {arr1[i] = arr[i];}arr = arr1;//將arr1重新賦回給arrSystem.out.println("-----元素縮減后的情況-----");for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + "\t");// 不換行輸出并且之間有間隔}System.out.println(); //換行System.out.println("是否繼續縮減?y/n");System.out.println("————————————————————————————————————");char key = sc.next().charAt(0); //接收if (key == 'y') { //是否繼續縮減//如果繼續縮減,判斷數組長度是否等于1,是————>停止縮減,退出程序if (arr.length < 2) {System.out.println("數組長度等于1,不能再縮減!");break;}} else {System.out.println("不再繼續縮減!");break;}} while (true);} } 執行結果·:
?
?
總結
以上是生活随笔為你收集整理的数组添加/扩容和数组缩减的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Java基础(数组)数组缩减
- 下一篇: SpringBoot @Mapper注解
