java - 用于进行更改的 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);
}
}
解决方案
推荐阅读
- firebase - Firebase 存储安全规则,允许公共或所有者私有文件访问
- go - 重新平衡树后如何更改接收器类型(根节点)
- r - 如何允许 selectizeInput 允许用户输入新条目以及加载一些旧条目
- http - 将 DDNS (noip.com) 与 ngrok 一起使用
- c# - 设备孪生:如何在 C# 中读取/写入属性
- assembly - x64 似乎不像 x86 那样接受 END 指令中的入口点。这种语法变化有什么具体原因吗?
- audio - 如何在 pi 上正确安装 portaudio
- sql - 使用 UNION、SQL 查询将单独的列作为“类型”?
- android - org.gradle.api.GradleException:无法在 Android Studio 3.5.2 上读取路径和 java.nio.FileAccessDeniedException
- java - 如何从 jersey web 项目调用 jar 文件中的方法?