要求:实现动态的给数组元素添加元素,实现对数组的扩容;
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 }