You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

获取用户名的Java代码运行报数组索引越界错误如何排查

数组索引越界问题排查

错误根因

  • Java数组采用0基索引规则:长度为length的数组,合法索引取值范围是0到length - 1,访问超出这个范围的索引就会抛出ArrayIndexOutOfBoundsException
  • 你提供的代码中,for循环的终止条件写为i <= user.length:示例中user数组长度为5,循环执行到i=5时会尝试访问user[5],该索引不存在,直接触发越界错误。

错误定位行:

// 条件中的等号是问题根源
for (int i = 0; i <= user.length; i++)

修正方案

将循环终止条件的<=改为<,保证循环变量i的最大值为user.length - 1,始终落在合法索引范围内。
修正后完整代码:

public class usernames {
    public static void main(String[] args)
    {
        int user[] = { 1, 2, 3, 4, 5 };
        // 修正:移除等号,匹配数组索引规则
        for (int i = 0; i < user.length; i++)
            System.out.println(user[i]);
    }
}

额外优化建议

如果遍历数组时不需要操作索引值,可以直接使用Java增强for循环,不需要手动维护索引变量,从根源上避免索引写错导致的越界问题,写法如下:

for (int item : user) {
    System.out.println(item);
}

内容的提问来源于stack exchange,提问作者Oblivious

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.31 12:09:27