数组扩容
代码内容
import java.util.Scanner;//引入接收用户输入方法的程序包
public class ArrayAdd{
public static void main(String[] args) {
// 定义原始数组
int[] arr = {1, 2, 3, 4, 5};
// 输出原始数组
System.out.println("\n" + "====arr原始数组为====");
for (int i = 0; i < arr.length; i++ ) {
System.out.print(arr[i] + "\t");
}
// 使用do-while循环,先增加一次,再选择循环
do{
// 创建一个新的数组,比原来的数组长度要少一个
int[] newArr = new int [arr.length + 1];
// 依次把原数组的数放到新数组里面
for (int i = 0; i < arr.length; i++ ) {
newArr[i] = arr[i];
};
// 接收用户输入的新数值
System.out.print("\n" + "\n" + "请输入您想新增加的数值:");
Scanner myScanner = new Scanner(System.in);
int addNum = myScanner.nextInt();
// 把新数值放到新数组里面最后一个位置
newArr[newArr.length-1] = addNum;
// 把新数组赋给原数组
arr = newArr;
// 打印出新数组
System.out.println("\n" + "====arr扩容后的新数组为====");
for (int j = 0; j < newArr.length; j++ ) {
System.out.print(newArr[j] + "\t");
};
// 让用户选择是否继续扩容
System.out.print("\n" + "\n" +"是否继续扩容,退出请输入'n',继续请输入'y'或其它任意值:");
// 接收用户输入的选择
char key = myScanner.next().charAt(0);
//如果输入n,就退出程序
if(key == 'n'){
System.out.println("\n" + "退出程序......");
break;
}
}while(true);//使用true变成死循环,如果用户输入的不是'n',则会一直循环
}
}
运行展示
数组减容
代码内容
import java.util.Scanner;//引入接收用户输入方法的程序包
public class ArrayReduce{
public static void main(String[] args) {
// 定义原始数组
int[] arr = {1, 2, 3, 4, 5};
// 输出原始数组
System.out.println("\n" + "====arr原始数组为====");
for (int i = 0; i < arr.length; i++ ) {
System.out.print(arr[i] + "\t");
}
// 使用do-while循环,先缩减一次,再循环
do{
// 创建一个新的数组,比原来的数组长度要少一个
int[] newArr = new int [arr.length - 1];
// 依次把原数组除最后一个数之外的数放到新数组里面
for (int i = 0; i < arr.length - 2; i++ ) {
newArr[i] = arr[i];
};
// 把新数组赋给原数组
arr = newArr;
// 打印出新数组
System.out.println("\n" + "\n" + "====arr缩减后的新数组为====");
for (int j = 0; j < newArr.length; j++ ) {
System.out.print(newArr[j] + "\t");
};
// 先判断新数组是否只剩下一个元素
if (newArr.length <=1) {
System.out.println("\n" + "\n" +"当前数组不能再缩减了,退出程序......");
break;
}
// 若新数组剩下不止一个元素,则让用户选择是否继续缩减
System.out.print("\n" + "\n" +"是否继续缩减,退出请输入'n',继续请输入'y'或其它任意值:");
// 用于接收用户输入
Scanner myScanner = new Scanner(System.in);
char key = myScanner.next().charAt(0);
//如果输入n,就退出程序
if(key == 'n'){
System.out.println("\n" + "退出程序......");
break;
}
}while(true);//使用true变成死循环,如果用户输入的不是'n',或者还没有缩减到最后的元素则会一直循环
}
}
运行展示
情况1:
情况2