不确定长度数组的插入元素操作
js中很好压入,push即可。
本文谈论的是java中对于不确定长度的数组的压入元素操作。
题目是这样的:
定义一个数组,40元素,随机生成0~100整数,求平均值后将低于平均值的元素存储到一维数组打印并输出。
起初看到题目,也不是很难,循环遍历,求平均也简单,但是,一个不固定长度的数组,该怎么创建出来?当然事先循环出来低于平均值的个数也是可以的,但是不够简单,如何在能即时对数组进行压入元素操作呢?有人想到了 ArrayList ,没错,是可以,已经封装好的 add 方法,很方便。但是我们不用~
import java.util.Arrays; public class LogScoreLowerThanAverage { private int[] allArr; private int[] displayArr; private int len; private int ave; private int sumNum; public void create (int num) { len = num; allArr = new int[len]; for(int i = 0; i < len; i ++) { allArr[i] = (int)(Math.random()*100); } } public void getAve () { sumNum = 0; for(int i = 0; i < allArr.length; i ++) { sumNum += allArr[i]; } ave = sumNum / len; System.out.println("average score is : " + ave); } public void getLowThanAve () { displayArr = new int[0]; for(int i = 0; i < allArr.length; i ++) { if(ave > allArr[i]) { displayArr = insertElement(displayArr, allArr[i]); } } } public int[] insertElement (int[] arr1, int ele) { int[] source = new int[arr1.length + 1]; if(arr1.length == 0){ source[source.length - 1] = ele; } else { System.arraycopy(arr1, 0, source, 0, arr1.length); source[source.length - 1] = ele; } return source; } public void logDisplay () { System.out.println("all array : " + Arrays.toString(allArr)); System.out.println("lower than average : " + Arrays.toString(displayArr)); } public static void main (String[] args) { LogScoreLowerThanAverage l = new LogScoreLowerThanAverage(); l.create(40); l.getAve(); l.getLowThanAve(); l.logDisplay(); } }
阅读完后相信大家都发现了关键的一点:insertElement 方法,这里我们传入了保存低于平均值的数组以及此次循环低于平均值要压入数组的元素值,通过创建一个比当前传入数组长度 +1 的新数组,然后复制源数组元素到新数组中,最后将要插入元素存储到末位并返回此新数组,功能实现~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现