メートル単位を計算する関数に取り組んでいます。メーター計算のルールは次のとおりです。
- 1.6kmamtの最低運賃-12/-
- 後続の1kmamt-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はkmのインデックスです。メーターの読み取り値は、1.00、1.10、1.20、1.30 ... 1.90、2.00 ...です。したがって、1.00 = 0、1.10 = 1、1.20-3などのkmIndexです。
私がコードに従って取得し、言及されるべき結果は以下に記載されています:
私は4.00まで働いており、結果が正しくない場合は、昼夜を問わず関連性があると宣言されています。
私はこれに多くの努力をしましたが、期待通りの結果を得ることができませんでした。1つのことを修正しようとすると、他のことは間違っているか、期待した結果が得られません。誰かがこれで私を助けることができますか?これを解決するためにほぼ一日を費やしました。