Итак, у меня есть этот код, предназначенный для игры в простую игру «камень, ножницы, бумага» с использованием другого компьютерного класса перемещения и ввода строки.Это для школьного проекта, поэтому мы должны использовать циклы while, но по какой-то причине цикл, по-видимому, не оценивает обе стороны аргумента и завершает цикл, как только оценка компьютера достигает пользовательского ввода (который является числом- пользователь вводит номер, на который он хотел бы играть).(PS: я супер новичок в Java, поэтому я все еще пытаюсь понять основы :))
public class RockPaperScissors {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int playerScore, computerScore; // score
playerScore = 0;
computerScore = 0;
System.out.println("Enter number of points to win:"); // number of rounds
int number = input.nextInt();
boolean PLAYER_VALID = true;
while ((playerScore < number) || (computerScore < number)) {
System.out.println("Choose Rock, Paper or Scissors:");
String playerMove = input.next().toLowerCase();
if (!(playerMove.equals("rock") // ensuring valid user input
|| playerMove.equals("paper")
|| playerMove.equals("scissors")))
{
PLAYER_VALID = false;
}
// computer move
String computerMove = ComputerOpponent.getMove();
// determining win
if (playerMove.equals(computerMove))
{
System.out.println("The computer chose " + playerMove + " so, it's a tie!");
}
else if (playerMove.equals("rock"))
{
if (computerMove.equals("paper"))
{
System.out.println("Computer chose paper, you lose :(");
computerScore += 1;
}
else {
System.out.println("Computer chose scissors, you win :)");
playerScore += 1;
}
}
else if (playerMove.equals("paper"))
{
if (computerMove.equals("scissors"))
{
System.out.println("Computer chose scissors, you lose :(");
computerScore += 1;
}
else {
System.out.println("Computer chose rock, you win :)");
playerScore += 1;
}
}
else if (playerMove.equals("scissors"))
{
if (computerMove.equals("rock"))
{
System.out.println("Computer chose rock, you lose :(");
computerScore += 1;
}
else {
System.out.println("Computer chose paper, you win :)");
playerScore += 1;
}
}
System.out.println("The current score is "
+ "(" + playerScore + "," + computerScore + ")");
} // while - round
if (computerScore == number)
{
System.out.println("Computer wins. Better luck next time!");
}
else if (playerScore == number)
{
System.out.println("Congrats! You win!");
}
else
System.out.println("Something happened....ERROR");
}
}