要求:實現動態的給數組元素添加元素,實現對數組的擴容;
1.原始數組使用靜態分配int[] arr = {1,2,3}
2增加的元素,直接放在數組的最后,arr ={1,2,3,4}
3.用戶可以通過如下方法來決定是否繼續添加,添加成功,是否繼續,y/n
1 import java .util.Scanner; 2 public class arryAdd{ 3 public static void main(String[]args){ 4 /*
5 要求:實現動態的給數組元素添加元素,實現對數組的擴容; 6 1.原始數組使用靜態分配int[] arr = {1,2,3} 7 2增加的元素,直接放在數組的最后,arr ={1,2,3,4} 8 3.用戶可以通過如下方法來決定是否繼續添加,添加成功,是否繼續,y/n 9
10 思路分析: 11 首先定義原始數組arr 12 其次創建一個新的數組arrys,並賦予一定的空間 13 再次,循環遍歷arr數組,把元素數組arr的元素依次拷貝給新數組arrys 14 最后,將4賦值給新數組arrys 15 用戶輸入使用Scanner 16 不確定用戶何時退出,使用do-while + break來控制; 17 */
18 Scanner myScanner = new Scanner(System.in); 19
20 int [] arr = {1,2,3};//原始數組
21 do{ 22 //定義一個新的數組並賦予一定的空間
23 int [] arrys= new int [arr.length+1];//由於要添加元素,所有新定義的數組中要加1 24 //遍歷arr
25 for (int i =0;i<arr.length ;i++ ) { 26 arrys[i] = arr[i];//將ayy元素拷貝給arrys
27 } 28
29 System.out.println("請輸入你要添加的元素"); 30 //定義一個addnum用來接收添加的元素
31 int addNum = myScanner.nextInt(); 32 //將addnum添加的元素賦值給arrys數組中的最后一個元素
33 arrys[arrys.length-1] = addNum; 34 arr = arrys;//將arrys賦值給arr 35
36 //輸出arr
37 for (int i=0;i<arr.length ;i++ ) { 38 System.out.print(arr[i]+"\t"); 39 } 40
41 System.out.println("是否還添加元素y/n"); 42 //用char類型來接收
43 char key =myScanner.next().charAt(0); 44 if (key =='n') { 45 break; 46 } 47 }while(true); 48
49 System.out.println("你已退出程序"); 50
51
52
53
54 } 55 }