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

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日