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

Java接收打印数组元素时出现ArrayIndexOutOfBoundsException如何解决

错误根因

for循环执行结束后,计数变量i的值等于输入的长度n。Java数组下标从0开始计数,长度为n的数组合法下标范围是0 ~ n-1,此时访问arr[i]属于访问超出数组长度的非法下标,因此触发ArrayIndexOutOfBoundsException越界异常。

修复方案

如果需要打印所有录入的数组元素,可选择以下任意一种实现:

  • 录入元素时同步打印
  • 录入完成后单独遍历数组打印
  • 直接调用JDK自带工具方法打印整个数组

修复后代码示例

import java.util.*;
public class array{
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        System.out.print("\nEnter Limit:");
        int n = sc.nextInt();
        int arr[]=new int[n];
        System.out.print("\nEnter Array Elements:");
        // 录入数组元素,将i声明在循环内部可避免变量泄露导致的误访问
        for(int i=0;i<n;i++){
            arr[i]= sc.nextInt();
        }
        // 方式1:遍历打印所有元素
        System.out.println("\n录入的数组元素:");
        for(int i=0;i<n;i++){
            System.out.println(arr[i]);
        }
        // 方式2:调用工具类一行打印(可选,输出格式为[1, 2, 3])
        // System.out.println(Arrays.toString(arr));
        sc.close();
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 13:42:04