Я работаю над игрой со ставками, которая не позволяет пользователю вводить отрицательные числа или число, превышающее их баланс: code:
int bet = 0;
boolean cont = true;
int userBalance = 100; // Keeps receiving input until an integer is entered.
do {
try {
bet = Integer.parseInt(JOptionPane.showInputDialog("Please enter a bet: "));
// Not allowing user to enter negative number
if (bet < 0) {
throw new IllegalArgumentException("");
}
if (bet > userBalance) {
throw new BetTooHighException();
}
// Breaks loop if nothing is thrown
cont = false;
// Catching negative numbers } catch (IllegalArgumentException ilArgException) {
JOptionPane.showMessageDialog(null, "bet must be a positive integer!");
} catch (BetTooHighException betTooHigh) {
JOptionPane.showMessageDialog(null, "You cannot bet more than you have.");
}
} while (cont);
System.out.println(bet);
Однако этот код работает почти нормально, если янажмите кнопку «Отмена» в диалоговом окне, ничего не вводя, создается недопустимое значение falseArgumentException, поскольку ставка установлена на 0. Как я могу обойти это, сохранив функциональность?