2017-02-13 58 views
0

好吧,變更單,同時保持1個值

我真的對Java(和編程一般),所以當你看到一些奇怪的事情不要太驚訝。

基本上我想要做的是改變數組元素的順序,因爲我想從數組中「移除」一個元素。

例如,參與者2被擊倒,我想將他刪除。我希望具有最高索引的參與者替換參與者2,然後將最高索引參與者值重置爲默認值。

Fighter k1=participant[jList1.getSelectedIndex()]; 
Fighter k2=participant[jList2.getSelectedIndex()]; 

k1.fightsWith(k2); 
if (k1.refresh()==true) {  
    if (k1.getHP()<=0) { 
    participant[k1.getID()]=participant[amount]; 
    participant[k1.getID()].setID(k1.getID()); 
    participant[amount].reset(); 
    amount-=1; 
    } else if(k2.getHP()<=0){ 
    participant[k2.getID()]=participant[amount]; 
    participant[k2.getID()].setID(k2.getID()); 
    participant[anzahl].reset(); 
    amount-=1; 
    } 
    jList1Model.clear(); 
    jList2Model.clear(); 
    for (int i=0;i<amount;i++) { 
    if (participant[i].getID()<=20) { 
     jList1Model.addElement(participant[i].getName()); 
     jList2Model.addElement(participant[i].getName()); 
    } 
    } 
} 

線條participant[k1.getID()]=participant[amount]; participant[amount].reset(); 這裏給我找麻煩。

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException 

回答

0

學習調試您的代碼。它應該有所幫助。

另外,就像我的2美分,在您的兩個可能的空指針候選者中,可能第一行不應該引起問題,因爲在遇到此行之前,k1上有操作,它似乎正在經過。

相關問題