I am writing a small program to give me the max amount of each coin category (quarters, dimes, etc) when I enter an amount. The modulus operator is not returning a correct value. For example, when I enter the amount "1.64", it should return: Quarters: 6, Dimes: 1, Nickels: 0, Pennies: 4. But my problem is at pennies. It keeps returning 3 pennies only. Any input would be appreciated!
import java.util.Scanner;
public class Main{
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
System.out.println("Enter amount: ");
double amount = in.nextDouble();
int quarters = (int)(amount / 0.25);
System.out.println("Quarters: " + quarters);
amount = (amount % 0.25);
int dimes = (int)(amount / 0.1);
System.out.println("Dimes: " + dimes);
amount = (amount % 0.1);
int nickels = (int)(amount / 0.05);
System.out.println("Nickels: " + nickels);
amount = (amount % 0.05);
int pennies = (int)(amount / 0.01);
System.out.println("Pennies: " + pennies);
}
}
Enter amount: 1.64 Quarters: 6 Dimes: 1 Nickels: 0 Pennies: 3