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