public Class A{
public A(){}
public A[] getA(){
return a;
}
public void setA(){
int i = 0;
try{
while((i++)<20){
a[i].j = i; //这里抛出异常 java.lang.NullPointerException ,为什么?????
a[i].c = "aa";
}
}catch(Exception e){}
} private A[] a= new A[20];
public int j;
public String c;
}//在B中调用A
Public Class B{
public static void main(String[] args){
A a= new A();
a.setA();
}
}
public A(){}
public A[] getA(){
return a;
}
public void setA(){
int i = 0;
try{
while((i++)<20){
a[i].j = i; //这里抛出异常 java.lang.NullPointerException ,为什么?????
a[i].c = "aa";
}
}catch(Exception e){}
} private A[] a= new A[20];
public int j;
public String c;
}//在B中调用A
Public Class B{
public static void main(String[] args){
A a= new A();
a.setA();
}
}
解决方案 »
- 关于Math.sin()菜鸟问题
- 使用spring2.0,配置文件的文件名不是applicationcontext.xml就报错!使用myeclipse工具,一个web项目为什么只能创建一个配置文件?把这文件删除后如何新建一个?
- 写一个静态方法,两个int参数,交换传进来的参数
- 弱问一个package的问题
- 请求指引方向:
- J2SE J2EE的关系与不同是什么
- 急!在线等候!JAVA能对注册表操作吗?
- 神啊救救我吧,100分相送。谁知道如何在linux下安装jdk1.3啊,我的装上怎么不正常~~~··
- 还望Java高人给小生一些启迪……
- 将中英文字串转成纯英文字串的方法---错在什么地方???解决立即给分!
- Calendar的问题
- 熟悉电力行业软件的进! rtd文件是什么?
private A[] a= new A[20];只是创建了类型为A的数组,
而每个数组里面是null,你还需对数组的每个内容初始化
for(int i = 0; i < a.length; i++)
{
a[i] = new A();
}
while((i++)<20){
a[i].j = i; //这里,i可能为20,会产生越界错
a[i].c = "aa";
...
改成这样就可以了:
try{
while((i++)<19){
a[i] = new A();
a[i].j = i;
a[i].c = "aa";
}
所以会出现越界错
------------------------
我还是没错
不过,i的初值应为-1,否则只会有1--19,应该是0--19