gpt4 book ai didi

java - 将金钱转换成所有可能的组合

转载 作者:行者123 更新时间:2023-12-01 17:47:42 25 4
gpt4 key购买 nike

我知道我的问题被重复了,但我仍然无法理解其他答案的解释。下面是我的代码,我已经计算它到达第一行,即 57 pennies + 0 dimes + 0 nickels + 0 quarters我正在考虑运行一个循环,列出所有可能的便士、一毛钱、五分镍币、二十五美分硬币的组合。但是,我不知道怎么办。

public class Conversion{
public static void main(String[] args) {
int cents = 57;

int quarter = 25;
int dime = 10;
int nickel = 5;
int penny = 1;


int totalPennies = cents / penny;
cents %= penny;
int totalNickels = cents / nickel;
cents %= nickel;
int totalDimes = cents / dime;
cents %= dime;
int totalQuarters = cents / quarter;
cents %= quarter;


System.out.print(totalPennies + " pennies + ");
System.out.print(totalNickels + " nickels + ");
System.out.print(totalDimes + " dimes + ");
System.out.println(totalQuarters + " quarters");

}
}

最佳答案

您的操作顺序颠倒了。

您要做的第一就是数一下您有多少便士。由于 1 便士的字面值(value)为 1,因此您可以拥有 57 便士,赚到 0.57 美元就足够了。这显然不是您想要实现的目标。

您要做的就是从您的最高面额开始计数,然后倒着算。这是一个示例。

// This should be the first operation
int totalQuarters = cents / quarter;
cents %= quarter;

我将其余部分重新排序作为读者的练习,但一旦成功重新排序,输出就会变得正确。

2 pennies + 1 nickels + 0 dimes + 2 quarters

关于java - 将金钱转换成所有可能的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53230711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com