java数组空指针异常

publicclassQuLing{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-gener... public class QuLing {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] oldArr = { 1, 3, 4, 5, 0, 0, 6, 6, 0, 5, 4, 7, 6, 7, 0, 5 };
int[] a = null;
int[] b = null;
int j = 0;
int t = 0;
for (int i = 0; i < oldArr.length; i++) {
if (oldArr[i] == 0) {
a[j] = oldArr[i];
j++;
} else {
b[t] = oldArr[i];
t++;
}
}
System.out.print("newArr[]= ");
/*
* for(int i=0;i<oldArr.length;i++){ System.out.print(oldArr[i]+" ");
*/
}
}大神教一下 看看我错在哪里
展开
 我来答
576953615
2012-10-23 · TA获得超过1.2万个赞
知道答主
回答量:606
采纳率:0%
帮助的人:183万
展开全部
应该是你的int[] a,数组和int[] b数组没有定义容量大小.
修改方法:你可以将int[] a=null-----改为int[] a=new int[20];
int[] b=null-----改为int[] b=new int[20];
这样就没有错误了。
如果有什么不明白可以追问。
希望我的回答对你有所帮助。
slk不再简单
推荐于2017-11-25
知道答主
回答量:20
采纳率:0%
帮助的人:9.9万
展开全部
你的int[] a = null; int[] b = null; 都赋值为null 然后直接下标访问肯定出错啊。这里需要初始化并且制定数组的长度。像这样:
int[] a = new int[20];
int[] b = new int[20];
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kiss0ya
2012-10-23 · TA获得超过1567个赞
知道答主
回答量:93
采纳率:0%
帮助的人:93.5万
展开全部
int[] a =null;
int[] b=null;

a b 两个数组未经过初始化 直接调用 a b 为 null 所以 空指针异常
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Hansel07
2012-10-23 · 超过11用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:43.9万
展开全部
帖一下那一步出现异常了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式