Scanner input =newScanner(System.in);int[] a ={1,2,3};// 使用 do....while 循环结构do{int[] b =newint[a.length+1];//先把a数组的内容拷贝到b数组中for(int i =0; i < a.length; i++){
b[i]= a[i];}System.out.println("请输入要添加的元素:");int add = input.nextInt();
b[b.length-1]= add;//现在数组完成了扩容,但是是b数组,接下来让a指向扩容后的数组
a = b;System.out.println("扩容后的数组如下:");for(int i =0; i < a.length; i++){System.out.print(a[i]+" ");}System.out.println("");//接下来判断是否继续System.out.println("是否还要继续添加元素?输入 y / n ");char judge = input.next().charAt(0);if('n'== judge){System.out.println("程序结束,不再继续添加元素,数组的最终状态如下:");for(int i =0; i < a.length; i++){System.out.print(a[i]+" ");}break;}}while(true);
二、缩减
Scanner input =newScanner(System.in);int[] a ={1,2,3};int cnt;// 使用 do....while 循环结构do{System.out.println("是否还要继续缩减元素?输入 y / n ");char judge = input.next().charAt(0);if('n'== judge){System.out.println("停止缩减,最终数组状态如下:");for(int i =0; i < a.length; i++){System.out.print(a[i]+" ");}break;}int[] b =newint[a.length-1];//先把a数组的内容拷贝到b数组中for(int i =0; i < a.length-1; i++){
b[i]= a[i];}//现在数组完成了缩减,但是是b数组,接下来让a指向缩减后的数组
a = b;System.out.println("缩减后的数组如下:");for(int i =0; i < a.length; i++){System.out.print(a[i]+" ");}//缩减完之后记录数组的长度
cnt = a.length;System.out.println("");if(cnt ==1){System.out.print("程序结束,数组剩下最后一个元素,不再缩减");break;}}while(true);