ich erhalte:java.lang.NullPointerException tictactoe Programm
Exception in thread "main" java.lang.NullPointerException
at TTTPlayer.setBoard(TTTPlayer.java:55)
at TTTPlayer.inputMethod(TTTPlayer.java:35)
at TTTPlayer.main(TTTPlayer.java:23)
Mein Programm ein tictactoe Programm ist und ich versuche, den Wert der Person Eingaben in dem entsprechenden Feldindex asign, die dann ausgedruckt werden können . Ich weiß, dass ich noch kein Flip-Flop für das Wechseln der Spieler habe. Ich kann das aber nicht herausfinden.
import java.util.*;
public class TTTPlayer {
public static String[][] board;
public static String currentPlayer;
public TTTPlayer() {
currentPlayer = "x";
board = new String[3][3];
board[0][0] = "1";
board[0][1] = "2";
board[0][2] = "3";
board[1][0] = "4";
board[1][1] = "5";
board[1][2] = "6";
board[2][0] = "7";
board[2][1] = "8";
board[2][2] = "9";
}
public static void main(String[] args) {
inputMethod();
}
public static void inputMethod()
{
TicTacToeMain.printBoard();
Scanner Input = new Scanner(System.in);
System.out.println("Enter what square you would like to place in.");
String choice = Input.nextLine();
if(choice.equals("1")||choice.equals("2")||choice.equals("3")||choice.equals("4")||choice.equals("5")||choice.equals("6")||choice.equals("7")||choice.equals("8")||choice.equals("9"))
{
setBoard(choice);
}
else
{
System.out.println("That is not a valid choice, please retry.");
inputMethod();
}
}
public static void setBoard(String choice)
{
String choice1 = choice;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if(board[i][j].equals(choice1)){
board[i][j].equals(currentPlayer);
printBoard();
}
}
}
//System.out.println(choice1);
}
public static void printBoard()
{
System.out.println(board[0][0]+" | "+board[1][0]+" | "+board[2][0]);
System.out.println("——|———|——");
System.out.println(board[0][1]+" | "+board[1][1]+" | "+board[2][1]);
System.out.println("——|———|——");
System.out.println(board[0][2]+" | "+board[1][2]+" | "+board[2][2]);
}
}
@henry ich ursprünglich diese auch als Duplikat geschlossen, aber die Ursache ist von eigentlich nicht instanziieren seine Klasse verursacht von 'main' ich nicht diese Ursache beantwortet in der sehen konnte, betrügen. –
@ScaryWombat Ich denke immer noch, dass es ein Duplikat ist. Es gibt viele Gründe, warum eine Variable möglicherweise nicht initialisiert wird, um sie alle aufzulisten. Das Grundproblem ist in der Regel leicht zu diagnostizieren, entweder durch Inspektion oder durch das Starten des Debuggers. – Henry