数组缩减
import java.util.Scanner;
public class ArrayReduce {
public static void main(String[] args) {
// 实现动态的给数组添加元素效果,实现对数组的扩容
//
// 1.原始数组使用静态分配int[] = {1,2,3,4,5}
// 2.动态缩减,直接放在数组最后arr = {1}
// 3.用户可以通过如下方式来决定是否继续缩减,添加成功,是否继续? y/n
//最后一项不缩减
//思路分析
/*
1.定义一个arr数组int[] arr= {1,2,3,4,5};
2.定义一个新数组int[] arrRed = new int[arr.length - 1]
3.遍历数组arr,依次将arr的元素拷贝到arrNew数组
4.让arr 指向 arrRed,arr = arrRed ; 那么原来的arr数组就被销毁
5.创建一个Scanner可以接收用户输入
6.不知道用户缩减多少次,不确定,用do + while +break 来做
*/
//定义一个arr数组
int[] arr = {1, 2, 3, 4, 5};
Scanner myScanner = new Scanner(System.in);
do {
//定义一个新数组int[] arrRed = new int[arr.length - 1]
int[] arrRed = new int[arr.length - 1];
for (int i = 0, j = 0; i < arr.length - 1; i++, j++) {
arrRed[j] = arr[i];
}
//让arr 指向 arrRed
arr = arrRed;
//用户输入:判断是否缩减
System.out.println("是否继续缩减y/n");
char c = myScanner.next().charAt(0);
if(c !='y'){
break;
}
//当arr.length 下标等于 0 时则不能缩减跳出循环
if(arr.length == 0){
System.out.println("用户不能再缩减");
break;}
//缩减遍历arr数组
System.out.println("====arr缩减后的数组====");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + "\t");
}
}while (true);
}
}