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

Java声明int数组后赋值报java.lang.NullPointerException是什么问题?

问题根因
  • Java中数组属于引用类型,static int array [];仅声明了数组引用变量,默认初始值为null,既没有分配实际的内存空间,也没有指向任何实例化的数组对象。
  • 对值为null的数组引用执行下标赋值操作array[counter1]=j时,程序尝试访问空引用对应的内存地址,因此抛出java.lang.NullPointerException。
修复方法

使用数组前必须先完成初始化,指定数组长度。该场景下要存储的是input的因数,元素数量不可能超过input本身的数值,因此拿到input后直接初始化数组即可:

input = sc1.nextInt();
array = new int[input]; // 新增数组初始化代码

如果无法提前确定存储元素的数量,可改用ArrayList<Integer>实现动态扩容,无需提前指定长度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 04:39:01