请回答java

来源:百度知道 编辑:UC知道 时间:2024/06/11 18:43:05
public class Array4 {

private int a ,b;
public Array4(){}
public void setAB(int a ,int b){
this.a=a;
this.b=b;
}
public int getA(){return a;}
public int getB(){return b;}

public static void main(String[] args) {
Array4[] ob=new Array4[4];
try{
ob[0].setAB(1,2);
ob[1].setAB(3,4);
ob[2].setAB(5,6);
ob[3].setAB(4,5);
for (int i =0;i<4;i++)
System.out.println(ob[i].getA());
} catch (NullPointerException e){
System.out.println("shu zu bu he fa :");
}

}

}
//为何什么输不出答案的呢

这是一个数组问题:
Array4[] ob=new Array4[4]; 申明了有4个元素的数组,但你并没有赋值
所以里面的元素就是空值,ob[0].setAB(1,2); 出现空指针异常(ob[0])。
你不妨加上 ob[0]=new Array4();ob[1]=new Array4();
ob[2]=new Array4();ob[3]=new Array4();
试试结果吧

你声明的ob是个数组,怎么能作为类的对象调用类中的方法呢?数组赋值失败,引发空指针异常

Array4[] ob=new Array4[4];

Array4是一个类,在实例化时,格式为:new Array4();

你的Array4这个类是没有带参数的构造的.

根据你的代码意义,可以改为:

Array4[] ob = {new Array(),new Array(),new Array(),new Array()};

因为你这个数组发生了异常