import java.util.Scanner;
public class a1 {
public static void main(String[] args) {
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入数组长度");
int length = myScanner.nextInt();
int[] arr = new int[length];
System.out.println("请输入数组元素的值");
for (int i = 0; i < arr.length; i++) {
arr[i] = myScanner.nextInt();
}
System.out.print("此时数组为 ");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
char choose;
label:
do {
System.out.println("\n" + "请选择操作 1.扩容 2.缩减 3.退出");
int key = myScanner.nextInt();
switch (key) {
case 1:
label1:
do {
int[] arrNew = new int[arr.length + 1];
for (int i = 0; i < arr.length; i++) {
arrNew[i] = arr[i];
}
System.out.println("请输入数组扩容的元素的值");
arrNew[arrNew.length - 1] = myScanner.nextInt();
arr = arrNew;
System.out.print("扩容后数组为 ");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
do {
System.out.println("\n" + "是否继续扩容 y/n");
choose = myScanner.next().charAt(0);
if (choose == 'y') {
break;
}
else if (choose == 'n') {
break label1;
}
else {
System.out.print("输入错误,请重新输入");
}
} while (true);
} while (true);
System.out.print("扩容结束");
break;
case 2:
label2:
do {
if (arr.length == 0) {
System.out.println("不能再缩减");
break;
}
int[] arrNew = new int[arr.length - 1];
for (int i = 0; i < arrNew.length; i++) {
arrNew[i] = arr[i];
}
arr = arrNew;
System.out.print("缩减后的数组为 ");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
do {
System.out.println("\n" + "是否继续缩减 y/n");
choose = myScanner.next().charAt(0);
if (choose == 'y') {
break;
} else if (choose == 'n') {
break label2;
} else {
System.out.print("输入错误,请重新输入");
}
} while (true);
} while (true);
System.out.print("缩减结束");
break;
case 3:
break label;
default:
System.out.print("输入错误,请重新输入");
}
}while (true);
System.out.println("程序结束");
}
}
java学习p170,p171缝合版
最新推荐文章于 2024-03-03 18:14:40 发布