Кто-нибудь знает, почему первое условие пропускается Java?Почему Java пропускает мое второе условие во время цикла?
while((withdraw % 100) != 0 && (withdraw > startBalance))
Хотя я заявляю, что вывод должен быть меньше, чем startBalance
, вы можете набрать номер, который выше, чем startBalance
а newBalance
будет отрицательным.
Вот мой код:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int startBalance = 1000;
System.out.println("Please enter how much you want to withdraw: ");
int withdraw = input.nextInt();
while((withdraw % 100) != 0 && (withdraw > startBalance)){
System.out.println("Sorry, you can only withdraw a value multiple of 100 (we only have 100 SEK bills): ");
withdraw = input.nextInt();
}
int newBalance = startBalance-withdraw;
System.out.println("Thanks! Your new balance is: SEK " + newBalance);
}
Использование & вместо &&, если вы хотите, чтобы второе условие оценивается – borchero