Eu estou tendo dificuldades para desenvolver a seguinte aplicação: Ler o valor de troco que uma pessoa irá digitar,de acordo com o valor mostrar quantas cédulas de 100,50,20,10,5 ou 2 serão necessárias e,se necessárias moedas mostrar quantas de 50,25,10 e 5 centavos.
O problema está na verificação das moedas,quando eu coloco por exemplo 0.70(que iria retornar duas moedas de 10 e uma de 50 centavos,só retorna a de 50 centavos),se puderem me ajudar ficarei grato.
[code]import java.util.*;
import java.util.Locale;
public class ex1trococonsole
{
public static void main(String[]args)
{
double n;
int contcincocent=0,contdezcent=0,contvintecincocent=0,contcinquentacent=0,contum=0,contdois=0,contcinco=0,contdez=0,contvinte=0,contcinquenta=0,contcem=0;
Scanner aux = new Scanner(System.in);
aux.useLocale(Locale.ENGLISH);
System.out.print("Digite o valor:");
n = aux.nextDouble();
do
{
if(n>=100)
{
if(n<100)
{
break;
}
else
{
n=n-100;
contcem+=1;
}
}
else if(n < 100 && n >=50)
{
if(n<50)
{
break;
}
else
{
n=n-50;
contcinquenta+=1;
}
}
else if(n< 50 && n>=20)
{
if(n<20)
{
break;
}
else
{
n=n-20;
contvinte+=1;
}
}
else if(n< 20 && n >=10)
{
if(n<10)
{
break;
}
else
{
n=n-10;
contdez+=1;
}
}
else if(n < 10 && n>=5)
{
if(n<5)
{
break;
}
else
{
n=n-5;
contcinco+=1;
}
}
else if(n< 5 && n >=2)
{
if(n<2)
{
break;
}
else
{
n=n-2;
contdois+=1;
}
}
else if(n< 2 && n>=1)
{
if(n<1)
{
break;
}
else
{
n=n-1;
contum+=1;
}
}
else if(n<1 && n>=0.50)
{
if(n<0.50)
{
break;
}
else
{
n=Math.round(n-0.50);
contcinquentacent+=1;
}
}
else if(n<0.5 && n>= 0.25)
{
if(n<0.25)
{
break;
}
else
{
n=Math.round(n-0.25);
contvintecincocent+=1;
}
}
else if(n< 0.25 && n>=0.10)
{
if(n<0.1)
{
break;
}
else
{
n=Math.round(n-0.10);
contdezcent+=1;
}
}
else if(n< 0.1 && n>=0.05)
{
if(n<0.05)
{
break;
}
else
{
n=Math.round(n-0.05);
contcincocent+=1;
}
}
}
while(n>0);
System.out.println("Notas de cem: "+contcem);
System.out.println("Notas de cinquenta: "+contcinquenta);
System.out.println("Notas de vinte: "+contvinte);
System.out.println("Notas de dez: "+contdez);
System.out.println("Notas de cinco: "+contcinco);
System.out.println("Notas de dois: "+contdois);
System.out.println("Moedas de um real:"+contum);
System.out.println("Moedas de cinquenta centavos:"+contcinquentacent);
System.out.println("Moedas de vinte e cinco centavos: "+contvintecincocent);
System.out.println("Moedas de dez centavos: "+contdezcent);
System.out.println("Moedas de cinco centavos:"+contcincocent);
}
}
[/code]