首页 > 解决方案 > 用于进行更改的 Java 程序

问题描述

我正在开发一个程序,您可以在其中输入金额并将其分解为零钱。但是,我目前正在苦苦挣扎,因为它不适用于某些测试用例,例如“2.03”。我试图找出问题出在哪里,并且由于某种原因,在我找到四分之一的数量并将其从数量中减去之后,它并没有正确减去。如果有人可以帮助我,我将不胜感激。

import java.util.Scanner;

public class Exercise9 {
public static void main(String[] args) {
    Scanner input = new Scanner(System.in);

    System.out.print("Amount : ");
    double amount = input.nextDouble();

    double quarters = amount / 0.25;
    quarters = quarters - (quarters % 1);
    amount = amount - (quarters * 0.25);
    System.out.print("\n" + amount);
    double dimes = amount / 0.10;
    dimes = dimes - (dimes % 1);
    amount = amount - (dimes * 0.10);
    double nickels = amount / 0.05;
    nickels = nickels - (nickels % 1);
    amount = amount - (nickels * 0.05);
    double pennies = amount / 0.01;
    pennies = pennies - (pennies % 1);


    System.out.print("\nQuarters : ");
    System.out.printf("%.2f", quarters);
    System.out.print("\nDimes    : ");
    System.out.printf("%.2f", dimes);
    System.out.print("\nNickels  : ");
    System.out.printf("%.2f", nickels);
    System.out.print("\nPennies  : ");
    System.out.printf("%.2f", pennies);
    System.out.print("\n" + amount);
}
 }

标签: java

解决方案


推荐阅读