0

Ok,

I am really new to java (and programming in general) so don't be too surprised when you see something strange.

Basically what I am trying to do is change the order of array elements because I want to "remove" one element from the array.

For example participant 2 gets knocked out, I want to remove him. I want the participant with the highest index to replace participant 2 and then reset the highest index participants values to default.

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());
    }
  }   
}

The lines participant[k1.getID()]=participant[amount]; participant[amount].reset(); are giving me trouble here.

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

1 Answers1

0

Learn debugging your code. It should help.

Also, just as my 2 cents, in your two probable Null pointers candidates, possibly first line should not cause an issue as there are operations on k1, which seems to be passing through, before this line is encountered.

PankajT
  • 145
  • 3