需要Java作业方面的帮助吗
我的家庭作业需要一些帮助。我的任务是创建一个程序,该程序创建一个需要Java作业方面的帮助吗,java,Java,我的家庭作业需要一些帮助。我的任务是创建一个程序,该程序创建一个Till对象,接受付款,发布准确的零钱,告诉我需要使用哪些硬币,然后告诉我钱柜里有多少钱。下面是我写的代码。USmoney类已完成并正在运行。老师提供了一张备忘单。然而,它是一个主要的类(CoinCalc),它获得了取款机,从支付的金额中减去支付的金额,从而得到我有问题的零钱。任何帮助都将不胜感激 public class USmoney { int dollars = 0; int cents = 0; public
Till
对象,接受付款,发布准确的零钱,告诉我需要使用哪些硬币,然后告诉我钱柜里有多少钱。下面是我写的代码。USmoney
类已完成并正在运行。老师提供了一张备忘单。然而,它是一个主要的类(CoinCalc
),它获得了取款机,从支付的金额中减去支付的金额,从而得到我有问题的零钱。任何帮助都将不胜感激
public class USmoney {
int dollars = 0;
int cents = 0;
public USmoney(int newcents) {
dollars = newcents /100;
cents = newcents %100;
}
public USmoney(int dollars, int cents) {
this.dollars = dollars;
this.cents = cents;
}
public int getDollars() {
return dollars;
}
public int getCents(){
return cents;
}
}
public class CoinCalc {
public static void main(String[] args) {
USmoney Till1 = new USmoney(100,0);
USmoney billTotal = new USmoney(49);
USmoney amountPaid = new USmoney(100);
double penny = 1;
double nickel = 5;
double dime = 10;
double quarter = 25;
double[] Coin = new double []{penny,nickel,dime,quarter};
}
private void changeFor(USmoney billTotal, USmoney amountPaid) {
}
}
这是多种多样的,您需要执行几个步骤
public USMoney subtract(final USMoney value);
public double[] getCoins(final USMoney value);
为了调用changeFor()方法,需要对CoinCalc类进行引用。您可以用不同的方法来实现,一种方法是在main()方法中声明CoinCalc类的变量,如下所示:
CoinCalc cc = new CoinCalc();
cc.changeFor(billTotal, amountPaid);
但是仍然存在一些问题,changeFor()方法目前不起任何作用,并且您声明till对象和coin数组的方式无法在changeFor()方法中访问它们
所以先解决一下这个问题,然后再联系我们
编辑
以下是我将如何构造它,billtoatal
是一个float amountPaid
是一个USMoney
对象,它在内部跟踪每种货币面额($1比尔、四分之一、一角、五分和一分)。当有人付钱时,他们会给你不同数额的钱USMoney
需要一种方法来返回它所拥有的货币种类的价值(美元、季度等的总和)
till
是USMoney
的另一个实例,它具有不同面值货币的初始值
USMoney
有一个名为changeFor(float bill,USMoney paid)
的方法,该方法返回另一个USMoney
实例。你会这样称呼它:
USMoney change = till.changeFor(bill, amountPaid);
然后,
changeFor()
方法必须根据till
中的内容以及bill
和amountPaid
之间的差异来确定如何进行更改。注意,如果你没有足够的硬币,你的计算应该足够聪明,如果有足够的硬币,你可以使用一角硬币和五分硬币。如果你真的想变得聪明,如果你不能进行更改,就抛出一个异常。看起来你需要有关changeFor算法的帮助,所以这里有一个提纲:
首先从已付金额中减去billTotal。这会让你改变多少
然后做一些变量来控制你要回馈多少变化。对于四分之一硬币、一角硬币、五分硬币、一便士硬币中的每一个,如果changeRemaining大于硬币的价值,则添加一枚硬币,然后减去价值。为每个硬币做这个,直到硬币的值不能通过测试,然后转到下一个硬币。 < P>这里有两个问题,你可以单独考虑。< /P>