I'm answering a practice problem in java and I've created some code. However, when I run it I get an error and I'm not sure what the error means
I've tried re-reading the code, but I still don't know what the error is:
Exception in thread "main" java.lang.NullPointerException at SugarSmashPlayer.setHighestScore(SugarSmashPlayer.java:42) at Main.main(Main.java:7) Process finished with exit code 1
public class Main {
public static void main(String[] args) {
SugarSmashPlayer Jacob = new SugarSmashPlayer();
Jacob.setHighestScore(40,1);
System.out.println(Jacob.getHighestScore(1));
}
}
public class SugarSmashPlayer {
private int IDnumber;
public String screenName;
public int[] highestScore;
public int level;
public int getIDnumber() {
return IDnumber;
}
public void setIDnumber(int IDnumber) {
this.IDnumber = IDnumber;
}
public String getScreenName() {
return screenName;
}
public void setScreenName(String screenName) {
this.screenName = screenName;
}
public int getHighestScore(int level) {
if(level > 10 || level < 1) {
System.out.println("Invalid level");
return 0;
} else {
return highestScore[level-1];
}
}
public void setHighestScore(int highestScore, int level) {
if(level > 10 || level < 1) {
System.out.println("Invalid level");
} else {
if(level > 2 && this.highestScore[level-2] > 99) {
this.highestScore[level - 1] = highestScore;
} else {
if (level == 1) {
this.highestScore[level - 1] = highestScore;
} else {
System.out.println("You have not achieved a score of 100 or greater in the previous level");
}
}
}
}
}
I expected the highscore for level 1 to be set to 40 and when I gethighscore I expected it to display 40