I've been working on making a program to calculate change and the program never ends up running and terminating after completion. I don't know what's wrong with my code. If anyone could help that'd be great.
private static void calculateChange(double price, double given) {
    int ones = 0, quarters = 0, dimes = 0, nickels = 0, pennies = 0;
    double change = given - price;
    while (change != 0) {
        if (change >= 1) {
            change = change - 1;
            ones++;
        }
        if (change >= .25) {
            change = change - 0.25;
            quarters++;
        }
        if (change >= .10) {
            change = change - .10;
            dimes++;
        }
        if (change >= .05) {
            change = change - .05;
            nickels++;
        }
        if (change >= .01) {
            change = change - .01;
            pennies++;
        }
    }
    System.out.println();
    System.out.println("Correct Change");
    System.out.println("Ones " + ones);
    System.out.println("Quarters  " + quarters);
    System.out.println("Dimes " + dimes);
    System.out.println("Nickels " + nickels);
    System.out.println("Pennies " + pennies);
}
 
     
     
    