2013-10-26 46 views
0

我有一个bankaccount超类和两个从它扩展的子类,检查和节省。我假设要创建一个bankaccount数组,但每次我引用它,它都会抛出一个NullPointerException异常。它为什么这样做?请尝试为我降低这一个。对象数组上的NullPointerException

public void newAccount() throws IOException { 
    BufferedReader br; 
    br = new BufferedReader(new InputStreamReader(System.in)); 
    System.out.println("Please create an account id:"); 
    readid = br.readLine(); 

    for (int i = 0; i < baArray.length; i++) { 
     baArray[i]=new Bankaccount(); 
     if (baArray[1]==null) { 
      System.out.println("its null!"); 
     } 
    } 
} 
+2

你在哪里初始化'baArray'? –

+1

当你检查'if(baArray [1] == null)'时,你的for循环刚刚创建了'baArray [0]',所以'baArray [1]'仍然是空的。将检查移到for循环的结束'}'后面。 – dognose

回答

0

你有NullPointException,因为你每次初始化beArray你进入for cicle和您试图访问数组的null Bankaccount(); 的第一个元素的项目1为0 更改1i

if (baArray[1]==null){ 

,你将有一个数组充满null BankAccount(); 顺便说一句,你在哪里initiliazing beArray

相关问题