For a class project i must write a text based Battleship program. I am getting a NullPointerException in the following code and im not sure why exactly. I have 3
classes: Game, SingleSpace, and Grid. The Grid object is a 2D array comprised of SingleSpace objects. And the Game is where my main function is.
So heres a bit of the code. I am pretty new so it may be poorly coded.
I originally had the array of type int but my professor wants us to have space objects so i figured that meant to have the array of type space.
It worked when it was type int, but since i switched it to SingleSpace array, i am getting the error
Here is the error:
Exception in thread "main" java.lang.NullPointerException
In line 13 of the Grid class (where the exception is thrown) you are invoking the setValue method on an element of the playerBoard array, but the elements in this array are not initialised before this, so all the elements of the array are null (while you expect to have instances of SingleSpace). Before using any of these elements as SingleSpace objects you need to set them as instances of the SingleSpace class:
playerBoard[i][j] = new SingleSpace();
And since in the constructor of SingleSpace you are initialising value to -1 you don't even need to invoke the setValue method.
Also, why don't you use the ROWS and COLS constants in the for loops instead of 10?