У меня есть лотерейная программа, которая запускает ставки и генерирует случайные числа. Когда пользователь выигрывает до 5000 долларов, у него будет возможность обналичить 5000 долларов и использовать оставшийся баланс для продолжения цикла. Пользователь также сможет завершить цикл, если решит не обналичивать деньги. Как мне продолжить цикл на основе пользовательского ввода? Если пользователь пишет «да», цикл продолжится, но я не уверен, как это сделать. Может кто-нибудь, пожалуйста, помогите? Если предполагается, что цикл будет продолжаться, то есть 5000 долларов будут удалены из общего выигрыша пользователя из-за вывода средств, оставшийся баланс будет использован для игры.
Я пытался поместить оператор if для пользовательского ввода в нескольких местах в основном цикле, но бюджет пользователя продолжает увеличиваться, он не вычитает 5000 долларов.
java.util.Scanner
while (budget > 0) {
lottery = (int) (Math.random() * 100);
guess = (int) (Math.random() * 100);
budget -= 1; // budget = budget-1;
// Get digits from lottery
int lotteryDigit1 = lottery / 10;
int lotteryDigit2 = lottery % 10;
// Get digits from guess
int guessDigit1 = guess / 10;
int guessDigit2 = guess % 10;
System.out.println("The lottery number is " + lottery);
System.out.println("The computer picked number is " + guess);
// Check the guess
if (guess == lottery) {
System.out.println("Exact match: you win $10,000");
totalWin += 1000;
} else if (guessDigit2 == lotteryDigit1 && guessDigit1 == lotteryDigit2) {
System.out.println("Match all digits: you win $3,000");
totalWin += 300;
} else if (guessDigit1 == lotteryDigit1 || guessDigit1 == lotteryDigit2 || guessDigit2 == lotteryDigit1
|| guessDigit2 == lotteryDigit2) {
System.out.println("Match one digit: you win $1,000");
totalWin += 100;
} else
System.out.println("Sorry, no match");
budget += totalWin;
totalWin=0;
if (budget > initBudget)
if ((budget-initBudget) >= 5000) {
System.out.println("You have reached the goal of 5000, we can go home!");
System.out.println("Enter 1 if you would like to cash out and use remaining balance to play and 0 if you would like to stop");
int decison = input.nextInt();
if (decison==1){budget=budget-5000;
System.out.println("Budget After play " + budget);
continue;
}break;
}
System.out.println("Budget After play " + budget);
}
Так что в моем коде у меня есть цикл
System.out.println("Enter 1 if you would like to cash out and use remaining balance to play and 0 if you would like to stop");
int decison = input.nextInt();
if (decison==1){budget=budget-5000;
System.out.println("Budget After play " + budget);
continue;
}break;
}
Этот цикл должен получить пользовательский ввод, а затем вычесть 5000 из общего выигрыша и использовать оставшийся бюджет, чтобы продолжить игру ... но он только увеличивается. Не понимаю, почему оно увеличивается, если у меня -5000.
(если возможно, пожалуйста, помогите мне изменить ответ на да / нет вместо ввода 1)