栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java数组添加/扩容(基础---代码思路)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java数组添加/扩容(基础---代码思路)

要求:实现动态的给数组添加新的元素,为数组扩容

1)原始数组用静态分配 int [ ] arr = {1, 2, 3}

2)为数组最后添加一个元素n,使arr = {1, 2, 3, n}

3)用户可以自己选择是否继续添加

思路:

1)创建原始数组arr,要扩容不能直接在arr的基础上添加一个新下标,这样会直接数组越界,报错了

2)我们可以新建一个arrNew数组,arrNew的数组长度在arr的长度上+1

3)遍历arr数组把arr数组内容拷贝到arrNew中,再用Scanner接收到用户输入的元素添加到arrNew的最后一个元素上

4)因为我们要扩容的是arr数组,所以最后要把arr数组的地址指向arrNew的地址

思路分析完了,下面是代码:

import java.util.Scanner;
public class ArrayAdd02{

	public static void main(String[] args){
		//创建一个新的Scanner对象
		Scanner myS = new Scanner(System.in);
		int[] arr = {1, 2, 3};//初始数组
		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] = myS.nextInt();
			arr = arrNew;//让arr指向arrNew,使arr和arrNew的数组
						//	地址相同
			System.out.println("===添加后的数组为:===");

			for(int i = 0; i < arr.length; i++){
				System.out.print(arr[i] + "  ");
			}
			System.out.println();
			System.out.println("是否要继续添加数组? y/n");
			//用key接受用户输入的字符
			char key = myS.next().charAt(0);
			if(key == 'n'){//如果输入n则直接break退出
				break;
			}

		}while(true);

		System.out.println("你退出了添加...");
	}
}

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1016662.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号