Scanner循环问题

zs过客 2014-11-21 11:43:11
static int[] i=null;
public static void main(String[] args){
int j=0;
Scanner in = new Scanner(System.in);
while(in.hasNextInt()){
i[j]=in.nextInt();
j++;
}
in.close();
}

为什么在运行过程中出现Exception in thread "main" java.lang.NullPointerException
at Kalazi.main(Kalazi.java:8)
...全文
225 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zs过客 2014-11-23
  • 打赏
  • 举报
回复
引用 5 楼 magi1201 的回复:
不知掉数组大小的话,可以使用动态数组,也就是ArrayList ArrayList 可以设置容量的大小,也可以根据需要自动扩容,解决了不知道数组大小的问题 static int[] i=null; 改为 List<Integer> list = new ArrayList<Integer>(); 对应 i[j]=in.nextInt(); 改为 list.add(in.nextInt());
有道理,,谢谢!!赶紧试试
飞不起的鱼 2014-11-22
  • 打赏
  • 举报
回复
报空指针是因为int[] i没有初始化
wyc_ 2014-11-22
  • 打赏
  • 举报
回复
楼主是在做编程竞赛题吗,像这种情况一般会事先分配个比较大的数组,或者有的题目第一个数字会告诉后面数据的多少,然后动态分配数组。 数组是必须要先new才能使用的。
zs过客 2014-11-22
  • 打赏
  • 举报
回复
引用 1 楼 haohao00789 的回复:
报空指针是因为int[] i没有初始化
我的想法是这样的,int[] i 如果初始化的话就限定大小了,但是我想随着输入的增加,i也在增加,,
wyc_ 2014-11-22
  • 打赏
  • 举报
回复
引用 4 楼 u013180863 的回复:
[quote=引用 3 楼 cumtwyc 的回复:] 楼主是在做编程竞赛题吗,像这种情况一般会事先分配个比较大的数组,或者有的题目第一个数字会告诉后面数据的多少,然后动态分配数组。 数组是必须要先new才能使用的。
是的,但是老是错误,感觉自己做对了,不过,编译不过,在Eclipse中是对的,谢了![/quote] 这样: public static final int maxn = 100000;//根据题目要求确定具体大小. public static int[] i = new int[maxn];
姜小白- 2014-11-22
  • 打赏
  • 举报
回复
不知掉数组大小的话,可以使用动态数组,也就是ArrayList ArrayList 可以设置容量的大小,也可以根据需要自动扩容,解决了不知道数组大小的问题 static int[] i=null; 改为 List<Integer> list = new ArrayList<Integer>(); 对应 i[j]=in.nextInt(); 改为 list.add(in.nextInt());
zs过客 2014-11-22
  • 打赏
  • 举报
回复
引用 3 楼 cumtwyc 的回复:
楼主是在做编程竞赛题吗,像这种情况一般会事先分配个比较大的数组,或者有的题目第一个数字会告诉后面数据的多少,然后动态分配数组。 数组是必须要先new才能使用的。
是的,但是老是错误,感觉自己做对了,不过,编译不过,在Eclipse中是对的,谢了!

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧