TicTacToe ゲームを作成していますが、文字列に問題があります。
コード:
import java.util.Scanner;
public class TicTacToe {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String player1Letter;
String player2Letter;
System.out.print("Player 1 Name: ");
String player1 = input.next();
System.out.print('\f');
System.out.print("Player 2 Name: ");
String player2 = input.next();
System.out.print('\f');
System.out.print(player1 + ", Choose X or O: ");
String letter = input.next();
if (letter.equalsIgnoreCase("x")) {
player1Letter = "X";
} else {
player2Letter = "O";
}
if (letter.equalsIgnoreCase("o")) {
player1Letter = "O";
} else {
player2Letter = "X";
}
System.out.print('\f');
System.out.println("How To");
System.out.println("-------");
System.out.println();
System.out.println(" 1 | 2 | 3 ");
System.out.println("-----------");
System.out.println(" 4 | 5 | 6 ");
System.out.println("-----------");
System.out.println(" 7 | 8 | 9 ");
System.out.println();
while (true) {
System.out.print("Type 'begin' To Begin: ");
String begin = input.next();
if (begin.equalsIgnoreCase("begin")) {
break;
} else if (!begin.equals("begin")) {
System.out.print('\f');
System.out.println("Incorrect Syntax");
System.out.println();
}
}
System.out.println(player1 + "'s Turn " + player1Letter);
System.out.println("-----------------------------------");
System.out.println();
System.out.println(" | | ");
System.out.println("-----------");
System.out.println(" | | ");
System.out.println("-----------");
System.out.println(" | | ");
}
}
それが言う底に向かって
System.out.println(player1 + "'s Turn " + player1Letter);
「変数 player1Letter が初期化されていない可能性があります」というエラーが表示されます。文字列は if ステートメントの外側で作成し、if ステートメントの内側で初期化しました。今、私はそれを呼んでいますが、ここで何が問題なのかわかりません。ありがとうございました!