Por qué si introduzco 4,95 me devuelve los 5 centimos y si introduzco 1,95 no me los devuelve?
package ejer30;
import java.util.Scanner;
public class Expendedora {
private double dinero;
private static Scanner sc = new Scanner(System.in);
public void setDinero() {
dinero=sc.nextDouble();
}
public void calculaMonedas() {
int cont2E=0;
int cont1E=0;
int cont50C=0;
int cont20C=0;
int cont10C=0;
int cont5C=0;
while (dinero>=2) {
cont2E++;
dinero=dinero-2;
}
while (dinero>=1) {
cont1E++;
dinero=dinero-1;
}
while (dinero>=0.50) {
cont50C++;
dinero=dinero-0.50;
}
while (dinero>=0.20) {
cont20C++;
dinero=dinero-0.20;
}
while (dinero>=0.10) {
cont10C++;
dinero=dinero-0.10;
}
while (dinero>=0.05) {
cont5C++;
dinero=dinero-0.05;
}
System.out.println("Monedas de 2€: "+cont2E);
System.out.println("Monedas de 1€: "+cont1E);
System.out.println("Monedas de 50 cent: "+cont50C);
System.out.println("Monedas de 20 cent: "+cont20C);
System.out.println("Monedas de 10 cent: "+cont10C);
System.out.println("Monedas de 5 cent: "+cont5C);
}
public static void main(String[] args) {
Expendedora a = new Expendedora();
System.out.println("Introduce dinero: ");
a.setDinero();
a.calculaMonedas();
}
}