@Override
public org.joda.money.Money computeCharge(org.joda.time.DateTime from,
org.joda.time.DateTime to){
}
从界面复制的说明:Parkable
计算这段时间内停车的费用。 指定者:接口Parkable中的computeCharge 参数:from - 车辆进入的时间。 至 - 车辆释放的时间。 退货:这里的停车费用。
例如,我们每小时收费8美元。
private void updateCharge() {
jtc.setText(jcb.getSelectedItem() + " for " + jtf.getText());
DateTime from = new DateTime(arriveTime.getDate());
DateTime to = new DateTime(departTime.getDate());
Period p = new Period(from, to);
Parkable pk = (Parkable) jcb.getSelectedItem();
pk.computeCharge(from, to);
jtc.setText(pk.computeCharge(from, to).toString());
System.out.println(jcb.getSelectedItem() + " for " + jtf.getText()
+ " costs " + pk.computeCharge(from, to));
}
第二个编码是我的计算器面板。因此,接口实例pk实现了computeCharge方法。然后,System.out.println(...“cost”+ pk.computeCharge(from,to))。请帮帮我。
答案 0 :(得分:0)
我写了这样的东西;
public static void main(String[] args) {
DateTime to = new DateTime().minusHours(3).minusSeconds(30);
DateTime from = new DateTime();
System.out.println("Total Amount is = " + computeCharge(from, to));
}
public static Money computeCharge(DateTime from, DateTime to) {
int hourlyAmount = 8;
Money result = Money.of(CurrencyUnit.USD, hourlyAmount);
Minutes minutes = Minutes.minutesBetween(to, from);
return result.multipliedBy(minutes.getMinutes() / 60);
}
您可以针对您的情况进行修改。
输出是;
Total Amount is = USD 24.00