Java数组动态扩容

1 问题

实现动态的给数组添加元素效果,实现对数组扩容,原始数组使用静态分配int\[\]arr={1,2,3},用户可以通过如下方法决定是否继续添加,添加成功,是否继续?

2 方法

  1. 第一步先import一个Scanner,然后初始化数组arr,再新建一个数组arr2.

  2. 第二步使用while循环,里面嵌套一个for循环给arr2赋arr的元素,后面给赋值你所添加的值,然后将添加元素后的数组依次打印出来。

  3. 第三步的操作就是用if语句判断是否要继续添加元素,用户输出n时结束添加元素。

代码清单 1

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| import java.util.Scanner; public class arrAdd { public static void main(String\[\] args) { Scanner myccanner=new Scanner(System.in); int arr\[\]={1,2,3}; while (true){ int arr2\[\]=new int (arr.length)+1; for (int i=0;i<arr.length;i++){ arr2i=arri; } System.out.println("请输入添加的值"); int end =myccanner.nextInt(); arr2arr2.length-1=end; arr=arr2; for (int j=0;j<arr.length;j++){ System.out.print(arrj+" "); } System.out.println("是否继续添加y/n"); char whether=myccanner.next().charAt(0); if (whether=='n'){ break; } } System.out.println("不再添加"); } } |

3 结语

针对提出的Java数组动态添加元素,证明while循环下嵌套if语句的方法是有效的。 这次实验让我学会了如何使用Java中的数组和循环结构来动态地向数组中添加元素。通过使用Scanner类,我能够从用户那里获取输入,并将输入的值添加到数组中。使用循环遍历数组并嵌套循环进行特定操作的技巧也让我受益匪浅。这次实验让我更深入地了解了Java中数组的操作,也提高了我对用户输入处理和循环逻辑设计的能力。同时,我也学会了如何使用循环来遍历数组以及如何嵌套循环来完成特定的操作。最后,我还学会了如何使用条件语句来判断用户是否想要继续添加元素。通过这次实验,我对Java中数组的操作有了更深入的了解,也学会了如何处理用户输入以及如何设计循环逻辑来实现特定的功能。这对我来说是一次很有意义的学习经历,我相信这些知识和经验会对我的编程能力产生积极的影响。

相关推荐
SL_staff6 小时前
3分钟完成业务规则调整:告别代码修改,实现拖拽式逻辑配置
java·低代码·全栈
Flynn Liang6 小时前
让 AI 查订单、查库存、发消息:Spring AI 自定义工具(Tool)实战与工具描述工程
java·人工智能·spring·函数调用·springai·tool·自定义工具
Rain的Java大神之路6 小时前
我,13年Java老兵,建了个免费网站,公开叫板“Java已死”:没有广告,没有付费墙,151个页面全是踩坑干货
java·后端·程序员
萧瑟余晖6 小时前
Spring Integration企业集成概览详解
java·后端·spring
Dovis(誓平步青云)6 小时前
拖动关键帧角色就抽动,动画编辑器怎样补齐中间状态
开发语言·前端·javascript·机器学习·编辑器
小小张说故事6 小时前
Python 的赋值为什么不会复制对象?拆开引用、浅拷贝与深拷贝
后端·python
行走的陀螺仪6 小时前
Claude Code 从入门到实战(二):Bash工具、Plan模式与后台任务
开发语言·bash
郝学胜-神的一滴6 小时前
游戏设计:原型与开发 19:U3D工位布置与性格说明书
人工智能·算法·unity·unreal engine·游戏策划·游戏设计
这个昵称不容易6 小时前
SpringBoot 墙绘交易平台毕设:128个文件154个接口含论文,带运行截图
java·springboot·毕设
努力努力再努力wz6 小时前
【Lua 入门系列】从执行模型到事件驱动:一文理解 Lua 有栈协程、挂起恢复与协作式调度
开发语言·lua