I have just started learning Java and I can't seem to get this calculator to work. I want to have a variable amount, and from that, calculate the least number of coins needed to make this amount.
This is my program:
double amount, quarters, dimes, nickels, pennies;
int quartersNeeded, dimesNeeded, nickelsNeeded, penniesNeeded;
amount = 1.63;
quarters = 0.25;
dimes = 0.1;
nickels = 0.05;
pennies = 0.01;
quartersNeeded = (int)(amount / quarters);
amount = amount - (quartersNeeded * 0.25);
dimesNeeded = (int)(amount / dimes);
amount = amount - (dimesNeeded * 0.1);
nickelsNeeded = (int)(amount / nickels);
amount = amount - (nickelsNeeded * 0.05);
penniesNeeded = (int)(amount / pennies);
amount = amount - (penniesNeeded * 0.01);
System.out.println(amount);
System.out.println(quartersNeeded);
System.out.println(dimesNeeded);
System.out.println(nickelsNeeded);
System.out.println(penniesNeeded);
Quarters, dimes, and nickels seem to work fine but once it gets to pennies, the amount is something like 0.0099999999999887 and penniesNeeded is always short one if the hundredth place of the initial amount is 3,4,7,8,9.