Я создаю простую блэкджекскую программу java, и я в тупике с проверкой входного цикла. Когда пользователю предлагается нарисовать карту, у него есть возможность: (y/n) выбрать, а также, если они захотят снова сыграть. Моя проблема в том, что когда мне предлагается нарисовать карту, и я выбираю y, этот персонаж должен только подсказать карточную ничью ... но похоже, что любой персонаж будет делать этот трюк. То же самое касается цикла воспроизведения, если я хочу снова сыграть. Также, когда мне предлагается снова играть, я хочу вернуться в начало цикла while, но я не могу назвать эту функцию. Мне нужна помощь! Вот мой код:Blackjack.java при проверке ввода цикла
import java.util.Random;
import java.util.Scanner;
public class BlackJack
{
public static void main(String[] args)
{
char play = 'y';
char drawAgain;
int card1, card2;
int nextCard = 0;
Scanner keyboard = new Scanner(System.in);
Random number = new Random();
while (play != 'n')
{
card1 = number.nextInt(10) + 1;
card2 = number.nextInt(10) + 1;
System.out.print("First cards: ");
System.out.println(card1 + ", " + card2);
int cardTotal = card1 + card2;
System.out.println("Total: " + cardTotal);
System.out.print("Draw again? (y/n): ");
drawAgain = keyboard.next().charAt(0);
while (drawAgain != 'n')
{
int card3 = number.nextInt(10) + 1;
System.out.println("Card: " + card3);
cardTotal += card3;
System.out.println("Total: " + cardTotal);
if (cardTotal <= 21) {
System.out.print("Draw Again? (y/n): ");
drawAgain = keyboard.next().charAt(0);
}
if (cardTotal > 21) {
System.out.println("Bust");
System.out.print("Would you like to play again? (y/n): ");
play = keyboard.next().charAt(0);
}
}
}
}
}
* "этот символ должен запрашивать только карточку *, но ваш код не проверяет это' while (play! = 'N') '. Нигде в вашем коде вы не проверяете '' y''. – m0skit0
@mattsap Я думаю, что внешний - это «главное меню». Во всяком случае, это не вопрос. – m0skit0