Olá gente, sou iniciante em programação e estou com um exercício na minha frente:
Escreva um algoritmo que leia um valor a ser sacado em um caixa eletrônico. Após a leitura, o algoritmo
deverá retornar a quantidade de cada cédula de R$50, R$20, R$10, R$5 e R$2 necessárias para compor o
referido valor.
Meu código é esse até o momento:
package exerciciosrevisão;
import java.util.Scanner;
public class num8CaixaEletronico {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n50 = 0, n20 = 0, n10 = 0, n5 = 0, n2 = 0;
System.out.println("Caixa Eletrônico: \n");
System.out.println("Quanto dinheiro você quer sacar:");
int dinheiro = sc.nextInt();
while (dinheiro != 0) {
if (dinheiro >= 50) {
n50 = dinheiro / 50;
dinheiro = dinheiro % 50;
} else if (dinheiro >= 20) {
n20 = dinheiro / 20;
dinheiro = dinheiro % 20;
} else if (dinheiro >= 10) {
n10 = dinheiro / 10;
dinheiro = dinheiro % 10;
} else if (dinheiro >= 5) {
n5 = dinheiro / 5;
dinheiro = dinheiro % 5;
} else if (dinheiro >= 2) {
n2 = dinheiro / 2;
dinheiro = dinheiro % 2;
}
}
System.out.println(n50 + " notas de R$50");
System.out.println(n20 + " notas de R$20");
System.out.println(n10 + " notas de R$10");
System.out.println(n5 + " notas de R$5");
System.out.println(n2 + " notas de R$2");
}
}
Porém o problema está em valores como o 101 que ao fazer o calculo ele calcula como 2 notas de 50 e sobra 1, não sei como posso fazer para o programa identificar isso e mudar, alguém pode me ajudar?