java中数组的扩容和减容原始基础方式|代码练习

数组扩容

代码内容

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 

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值