DennisKingsman
@DennisKingsman
Студент

Почему не завершается цикл?

Есть enam
public enum OutCome {
    BLACKJACK, GAMEOVER, CONTINUE;
}


класс Person в котором метод
@Override
    public OutCome checkCost(String correction){
        if(cost == 21){
            System.out.println(blackJack);
            return OutCome.BLACKJACK;
        }else if(cost > 21){
            System.out.println(sadMessage);
            return OutCome.GAMEOVER;
        }else{
            System.out.println(correction + messageForChecker + cost);
            return OutCome.CONTINUE;
        }
    }

где cost - интовая переменная которая аккумулирует значения карт а объекты в sout просто константные строки
и есть метод main в котором выполняется
OutCome cost = player.checkCost();
      Scanner scanner = new Scanner(System.in);
      String action = scanner.nextLine();
while ( (!action.equals(enough)) || (cost.equals(OutCome.CONTINUE))){
            player.getAnotherCard(deck); //берет карту
            player.checkLastCard();  // выводит ее пользователю 
           
            cost = player.checkCost(); //переопределяет флаг
// и по новой 
            System.out.println(message);
            action = scanner.nextLine();
        }

но цикл не завершается
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
Beshere
@Beshere
Разработчик
в while || на && замените
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы