我正在研究一个函数,我正在计算计量单位的数量。对于仪表calcualtions规则是:实现单位转换
- 上1.6公里AMT最低票价 - 12/-
- 随后1公里AMT - 7/-
- 25%的额外的旅程票价为午夜
我写的功能是:
public static void CalculateAutoFare(int kmIndex) {
double fare = 12.00;
double night = 15.00;
double subseIncre = 1.50;
double nightIncre = 0.25;
int j=0;
for (int i=1; i <= kmIndex; i++) {
if (i == 3 || j == 4) {
fare += 1.00f;
j =0;
}
else {
fare += subseIncre;
j++;
}
fare = Math.round(fare*2f)/2f;
double extra = ((double) fare * nightIncre);
night = fare + extra;
night = Math.round(night*2f)/2f;
System.out.println("I = " + i + " Fare = " + fare + " Night = " + night + " 25%Extra = " + extra);
}
System.out.println("Day = " + fare + " Night = " + night);
}
kmIndex是公里的指数。仪表读数分别为1.00,1.10,1.20,1.30 ... 1.90,2.00 ...因此kmIndex为1.00 = 0,1.10 = 1,1.20-3等等。
结果,我得到的每个码,应该是提到如下:
我已经工作到4.00,并在结果不正确的声明undet应该是相关不分日夜。
我在这方面做了很多工作,但无法按预期得到结果。如果我试图纠正一件事情,那么其他人得到错误或不给予预期的结果。任何人都可以帮助我解决这个问题。花了几乎整整一天的时间来解决这个问题。
你能解释一下“应该是”这一栏吗?在这种情况下,为什么应该是19而不是18.5?你能否展示实现这一结果的步骤? – Juliano
“应该”的结果是按照这里:http://www.trafficpolicemumbai.org/new_auto_tariff_card.pdf – Tvd