public void humanPlay()
{
if (player1.equalsIgnoreCase("human"))
System.out.println("It is player 1's turn.");
else
System.out.println("It is player 2's turn.");
System.out.println("Player 1 score: " + player1Score);
System.out.print("Player 2 score: " + player2Score);
String eitherOr;
do {
eitherOr= input.nextLine();
humanRoll();
} while (eitherOr.isEmpty());
if (!eitherOr.isEmpty())
humanHold();
}
Это весь метод, единственное, что я пытаюсь исправить, это.
String eitherOr;
do {
eitherOr= input.nextLine();
humanRoll();
} while (eitherOr.isEmpty());
Он должен принимать входные данные несколько раз, поэтому каждый раз, когда требуется ввод, чтобы определить, что происходит, именно поэтому мне нравится цикл Do While, но, поскольку он инициализируется по крайней мере один раз за время, я получаю дополнительный бросок, чем необходимо.
Я пытался сделать это таким образом, и различные варианты этого способа:
String eitherOr = input.nextLine();
while(eitherOr.isEmpty());
humanRoll();
Это не работает, потому что не запрашивает ввод заново. Если я попытаюсь поставить input.nextline (); в цикле while говорится, что «anyOr» не инициализируется, и даже если я инициализирую его при вводе ввода, командная строка остается пустой, поэтому она ничего не делает с моим вводом.