数组越界错误Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
作者:@kuaiquxie
作者的github:https://github.com/bitebita
本文为作者原创,如需转载,请注明出处:https://www.cnblogs.com/dzwj/p/16020320.html
题目:
判断Largest函数是否有错误,尝试列出错误信息,给出解决方案
代码展示:
public class Main3 { public static void main(String[] args){ int[] array = {}; int length = 10; Largest(array,length); if(array!= null) { System.out.println("数组为空"); }else if(length!=0){ System.out.println("Largest不执行"); }else{ System.out.println("输出最大值"); } } private static int Largest(int list[], int length){ int i,max=0; for(i= 0; i< (length - 1); i++){ if(list[i]> max){ max=list[i];} } return max;} }
运行截图:
解决思路:
数组下标越界,假如数组array的下标在遍历过程中,实际上得到的是10,而得到的是比他下一位的数,即9,在数组初始化的时候,也就是申请了九个数组元素,这就会显示数组越界的错误,那么问题出现在了哪里呢
就是for循环在遍历的过程中,for循环的终止判断出现了问题,字符数组的内存申请范围是精确的,但是忽略了初始化为0的数组空间,这也就是申请了九个,实际上有十个,数组越界错误出现。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」