我有这样的代码:即打印输出,我不想再重复它来计算成本总:不同的方法针对不同的输出
public void printCost(List<c_flightRotationAircraft> fRAList,
List<c_itineraryDistFra> iDFraList, HashSet<string> distinctAircraft, HashSet<int> distinctItinerary,
List<c_position> positionList, List<c_airportAircraft> aAList, c_config config)
{
c_files f = new c_files();
double pDC = passengerDelayCost(fRAList, iDFraList, distinctItinerary, config); // Passenger delay cost
double oCC = outboundCancelCost(fRAList, iDFraList, distinctItinerary, config); // Outbound cancellation cost
double iCC = inboundCancelCost(fRAList, iDFraList, distinctItinerary, config); // Inbound cancellation cost
double cLC = cancelLegalCost(fRAList, iDFraList, distinctItinerary, config); // Cancellation Legal Compensation Cost
double dLC = delayLegalCost(fRAList, iDFraList, distinctItinerary, config); // Delay legal cost
double fOCD = flightOperatingCostDecrease(fRAList, iDFraList, distinctItinerary, config); //Penalties for non-compliant location of aircraft
/*
f.insertAircraftPositionEndRtw(distinctAircraft, fRAList, config, positionList, aAList); // inserts the aircraft in the airports (aAList) List
double pNcLA = penaltyNonCompliantLocationAircraft(fRAList, iDFraList,
distinctAircraft, positionList, aAList, config); // Penalties for non-compliant location of aircraft
*/
Console.WriteLine();
Console.WriteLine("Passenger delay cost: {0}", pDC.ToString("#.##"));
Console.WriteLine("Outbound cancellation cost: {0}", oCC.ToString("#.##"));
Console.WriteLine("Inbound cancellation cost: {0}", iCC.ToString("#.##"));
Console.WriteLine("Cancellation Legal Compensation Cost: {0}", cLC.ToString("#.##"));
Console.WriteLine("Delay legal cost: {0}", dLC.ToString("#.##"));
Console.WriteLine("Flight operating cost decrease: {0}", fOCD.ToString("#.##"));
//Console.WriteLine("Penalties for non-compliant location of aircraft: {0}", pNcLA.ToString("#.##"));
}
有什么简单的方法有3个方法:一个用于计算价值,另一个用于打印成本,第三个用于总和总成本?
有一件事你应该永远记住,一个功能(甚至类)应该有一个且只有一个功能。 – IROEGBU