public class CaixaEletronico {
public static void main(String[] args) {
//Cedulas disponiveis no caixa eletronico
int[] cedulas = {100, 50, 20, 10, 5, 2, 1};
//Quantidade total de cedulas entregues ao cliente
int quantidadeTotal = 0;
//valor a ser sacado pelo cliente
int valorReais = 163;
//Percorrendo todas as cedulas disponiveis no caixa eletronico
for(int i = 0; i < cedulas.length; i++)
{
//Quantidade de cedulas para o valor cedulas[i]
int quantidadeCedulas = valorReais/cedulas[i];
//Impressao da quantidade de cedulas
System.out.println("Quantidadde de cedulas de "+ cedulas[i] +
": " +quantidadeCedulas );
//Resto da divisao
valorReais %= cedulas[i];
//Quantidade total de cedulas entregues ao cliente
quantidadeTotal += quantidadeCedulas;
}
//Impressao
System.out.println("Quantidade total: "+quantidadeTotal);
}
}
Eu nao estou entendo a linha 13, tipo, qual seria o valor de cedulas[i]?
public class CaixaEletronico {
public static void main(String[] args) {
//Cedulas disponiveis no caixa eletronico
int[] cedulas = {100, 50, 20, 10, 5, 2, 1};
//Quantidade total de cedulas entregues ao cliente
int quantidadeTotal = 0;
//valor a ser sacado pelo cliente
int valorReais = 163;
//Percorrendo todas as cedulas disponiveis no caixa eletronico
for(int i = 0; i < cedulas.length; i++)
{
//Quantidade de cedulas para o valor cedulas[i]
int quantidadeCedulas = valorReais/cedulas[i];
//Impressao da quantidade de cedulas
System.out.println("Quantidadde de cedulas de "+ cedulas[i] +
": " +quantidadeCedulas );
//Resto da divisao
valorReais %= cedulas[i];
//Quantidade total de cedulas entregues ao cliente
quantidadeTotal += quantidadeCedulas;
}
//Impressao
System.out.println("Quantidade total: "+quantidadeTotal);
}
}
Eu nao estou entendo a linha 13, tipo, qual seria o valor de cedulas[i]?
Obrigado
o valor de i começa com 0 e vai sendo incrementado de 1 até que chegue ao tamanho do vetor celulas
E por aí vai até que o loop tenha passado a quantidade de elementos contidos no vetor.
A
Anhaya
sim, entendi, mas seguindo a estrutura do comando, nao entendi pq da os resultados abaixo, fui fazendo e nao da o que esta dando.
Result
Quantidadde de cedulas de 100: 1
Quantidadde de cedulas de 50: 1
Quantidadde de cedulas de 20: 0
Quantidadde de cedulas de 10: 1
Quantidadde de cedulas de 5: 0
Quantidadde de cedulas de 2: 1
Quantidadde de cedulas de 1: 1
Quantidade total: 5
programadora
O que acontece… ele vai fazendo a divisão do valor em reais pelo valor da cédula.
int quantidadeCedulas = valorReais / cedulas[i];
System.out.println("Quantidadde de cedulas de " + cedulas[i] + ": "
+ quantidadeCedulas);
Tipo, na primeira passagem (i = 0) cedulas[i] = 100, ele pega o 163 (valor em reais) e divide por 100 (valor da cédula) para descobrir quantas cédulas de 100 são necessárias pra chegar ao valor 163. O resultado dessa divisão é 1 (lembre-se que essa divisão não é exata, possui um resto aí) isso quer dizer q ele precisa de 1 nota no valor de 100 reais para compor o valor de 163 reais. Aí logo na linha seguinte, ele atualiza o valor em reais com o resto da divisão:
valorReais%=cedulas[i];
na primeira passada o valorReais é atualizado de 100 para 63, na segunda, de 63 para 13 (pq ele usa uma nota de 50), na terceira de 13 para 3 (pq usa uma nota de 10)… e assim vai…
Não sei se consegui responder sua dúvida…
A
Anhaya
entendi, é que estava fazendo na calc do PC 63/50, e me estava dando 1,26… achei que 26 seria o resto, viajei^^, mas eu entendi sim, brigado.