m0_47577743 2022-02-23 19:53 采纳率: 100%
浏览 161
已结题

java的arraylist数组越界问题

在做java的一个最小化函数中,一直提示数组越界java.lang.IndexOutOfBoundsException: Index 3 out of bounds for length 3
下面代码中list是一个arraylist

代码详情:

    public int min() {
        int minNum=list.get(list.length());
        for(int i=0;i<list.length();i++)
        {
            if(minNum>list.get(i))
            {
                minNum=list.get(i);
            }
        }
        return minNum;

    }


img

有查过说循环中不能有等号,所以把等号去了但是没有什么用?而且是在minNum那里报错就不是很明白为什么。

  • 写回答

3条回答 默认 最新

  • CSDN专家-sinJack 2022-02-23 20:06
    关注

    int minNum=list.get(list.length()-1);
    list索引从0开始的,需要减1
    错误提示意思:数组长度为3,访问索引3导致异常,最多访问索引2。

    public int min() {
            int minNum=list.get(list.length()-1);
            for(int i=0;i<list.length();i++)
            {
                if(minNum>list.get(i))
                {
                    minNum=list.get(i);
                }
            }
            return minNum;
     
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月4日
  • 已采纳回答 2月24日
  • 创建了问题 2月23日

悬赏问题

  • ¥30 vb net 使用 sendMessage 如何输入鼠标坐标
  • ¥200 求能开发抖音自动回复卡片的软件
  • ¥15 关于freesurfer使用freeview可视化的问题
  • ¥100 谁能在荣耀自带系统MagicOS版本下,隐藏手机桌面图标?
  • ¥15 求SC-LIWC词典!
  • ¥20 有关esp8266连接阿里云
  • ¥15 C# 调用Bartender打印机打印
  • ¥15 我这个代码哪里有问题 acm 平台上显示错误 90%,我自己运行好像没什么问题
  • ¥50 C#编程中使用printDocument类实现文字排版打印问题
  • ¥15 找会编程的帅哥美女 可以用MATLAB里面的simulink编程,用Keil5编也可以。