int moneyUser;
Scanner money = new Scanner(System.in);
System.out.print("Привет! Сколько нужно разменять? : ");
moneyUser = money.nextInt();
int coin = 1;
while (moneyUser > 0){
if(moneyUser > 25){
moneyUser -= 25;
coin++;
}else if (moneyUser < 25){
moneyUser -= 10;
coin++;
}else if (moneyUser < 10){
moneyUser -= 5;
coin++;
} else if (moneyUser < 5){
moneyUser -= 1;
coin++;
} else {
System.out.println(coin);
}
}
Дано: монетки номиналом 25, 10, 5, 1 цент
Программа должна:
Спросить пользователя, сколько сдачи нужно выдать
Посчитать минимальное количество монет, с помощью которых можно это сделать
Будьте внимательнее, программа зацикливается, потому что Вы не правильно прописали условия в if-ах. Если Вы введете число 25, то не выполниться не одно условие (25 > 25 = false и 25 < 25 = false). Исправьте условие if(moneyUser > 25) на if(moneyUser >= 25) и все будет работать. Еще нужно исправить else if (moneyUser < 25) на else if (moneyUser < 25 && moneyUser >= 10), так как если, допустим, Вы введете число 2, то теоретически могут выполниться три последних цикла: else if (moneyUser < 25), else if (moneyUser < 10), else if (moneyUser < 5) и Вы можете получить отрицательное число.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей