Olá, gostaria de uma ajuda, estou com um problema, que estou fazendo um trabalho que tenho meio que dizer quando notas saiam do caixa na hora do saque, por exemplo: 550 reais são 5 notas de 100 e 1 de 50, não sei fazer isso, unica coisa que consegui é tipo informar o valor de 550 e sai assim 100 100 100 100 100 50, por favor me ajudem?
Vc precisa ir fazendo o teste com divisões pelo valor da cédula maior para a menor:
550 / 100 = 5.5 - Pega só a parte inteira, são 5 notas de 100 q dá 500, sobra 50 ai segue na mesma lógica.
Olá Menguer, pelo que entendi acho que esse código deve resolver.
public class Principal {
public static void calcular(double valor){
int[] cedulas = {100,50,25,10,5,2};
for(int i = 0; i < cedulas.length; i++){
if( valor >= cedulas[i] ){
System.out.println( (int)valor/cedulas[i] + " notas de " + cedulas[i]);
valor = valor % cedulas[i];
}
}
System.out.println("Sobram: " +valor);
}
public static void main(String[] args) {
calcular(1553.5);
}
}
Espero que tenha ajudado.
Boa tarde!
Eu sou iniciante e estou aprendendo, eu fiz um programa em caixa eletrônico. Ele está funcionando, porém eu tenho uma dúvida: como faço para bloquear uma mensagem quando a nota não será utilizada no saque, por exemplo: eu vou sacar R$ 238,00. Ele vai mostrar as mensagens de todas as notas.
Ex:
2 notas de 100
0 notas de 50 -> essa nota não vai ser utilizada, então como faço para ‘bloquear’ essa mensagem dentro do else?
3 notas de 10
1 notas de 5
3 notas de 1
Meu código:
usuario = new Scanner(System.in);
System.out.println("Digite o valor que você deseja sacar. Valor mínimo: R$10,00. Valor máximo: R$600,00");
int valor = usuario.nextInt();
int nota_100 = 100;
int nota_50 = 50;
int nota_10 = 10;
int nota_5 = 5;
int nota_1 = 1;
if(valor >= 10 && valor <= 600) {
if(nota_100 > 0) {
nota_100 = valor / 100;
valor = valor % 100;
System.out.println(nota_100 + " notas de 100");
}
if(nota_50 > 0) {
nota_50 = valor / 50;
valor = valor % 50;
System.out.println(nota_50 + " notas de 50");
}
if(nota_10 > 0) {
nota_10 = valor / 10;
valor = valor % 10;
System.out.println(nota_10 + " notas de 10");
}if(nota_5 > 0) {
nota_5 = valor / 5;
valor = valor % 5;
System.out.println(nota_5 + " notas de 5");
}if(nota_1 > 0) {
nota_1 = valor / 1;
valor = valor % 1;
System.out.println(nota_1 + " notas de 1");
}
}else {
System.out.println("Não é possível realizar o saque");
}
Criei somente no método main mesmo, alguém pode me ajudar?
No seus ifs, você está comparando as variáveis nota_100
, nota_50
com zero. Elas sempre serao maior que zero, pois o valor delas é fixo. O que precisa fazer é comparar a variável valor
com cada nota:
if (valor >= nota_100) { }
if (valor >= nota_50) { }
Nossa, deu certo! Obrigada!