From 89f246b5deeefee206eb0fe15bf96abe8dc25c6a Mon Sep 17 00:00:00 2001 From: pc9pizjb6 <122855890@qq.com> Date: Sun, 26 Oct 2025 18:47:06 +0800 Subject: [PATCH] ADD file via upload --- CarRepairSystem.java | 140 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 CarRepairSystem.java diff --git a/CarRepairSystem.java b/CarRepairSystem.java new file mode 100644 index 0000000..977d2d5 --- /dev/null +++ b/CarRepairSystem.java @@ -0,0 +1,140 @@ +package com.car.service; + +import com.car.model.*; + +/** + * 汽车维修系统类 - 展示组合关系中部件的更换和维修 + */ +public class CarRepairSystem { + + /** + * 维修汽车 + * @param car 需要维修的汽车 + */ + public void repairCar(Car car) { + System.out.println("Starting repair for " + car.getBrand() + " " + car.getModel() + "..."); + + // 运行诊断 + boolean diagnosticsResult = car.runDiagnostics(); + + if (!diagnosticsResult) { + System.out.println("Repairing detected issues..."); + // 这里可以添加具体的维修逻辑 + fixCommonIssues(car); + System.out.println("Basic repairs completed. Running final diagnostics..."); + car.runDiagnostics(); + } else { + System.out.println("No issues detected. Car is in good condition."); + } + + System.out.println("Repair service completed."); + } + + /** + * 更换汽车部件 + * @param car 汽车对象 + * @param partType 部件类型 + * @param partIndex 部件索引(多部件时使用) + */ + public void replacePart(Car car, String partType, int partIndex) { + switch (partType.toLowerCase()) { + case "steeringwheel": + car.replaceSteeringWheel(new SteeringWheel("Premium Leather", "370mm", true)); + System.out.println("Replaced steering wheel with premium leather version."); + break; + case "seat": + if (car.replaceSeat(partIndex, new Seat( + partIndex == 0 ? "Driver" : "Passenger", + "Memory Foam Leather", + true, + true))) { + System.out.println("Seat replaced successfully."); + } else { + System.out.println("Invalid seat position."); + } + break; + case "wheel": + if (car.replaceWheel(partIndex, new Wheel("19 inch", "All-season Performance", 32))) { + System.out.println("Wheel replaced successfully."); + } else { + System.out.println("Invalid wheel position."); + } + break; + case "engine": + car.setEngine(new Engine("V8", 450, 5.0, 8)); + System.out.println("Engine replaced with V8 performance engine."); + break; + case "transmission": + car.setTransmission(new Transmission("Dual Clutch", 8, true)); + System.out.println("Transmission replaced with dual-clutch system."); + break; + case "ecu": + ElectronicSystem es = car.getElectronicSystem(); + if (es.replaceECU(partIndex, new ElectronicControlUnit( + "Upgraded ECU", + "Enhanced performance control"))) { + System.out.println("ECU replaced successfully."); + } else { + System.out.println("Invalid ECU index."); + } + break; + default: + System.out.println("Unknown part type: " + partType); + } + } + + /** + * 检查和维修引擎活塞 + * @param car 汽车对象 + * @param pistonIndex 活塞索引 + */ + public void repairEnginePiston(Car car, int pistonIndex) { + Engine engine = car.getEngine(); + if (engine.replacePiston(pistonIndex, new Piston(86, 89, "High-strength Aluminum", 11))) { + System.out.println("Engine piston " + pistonIndex + " replaced with high-performance version."); + } else { + System.out.println("Invalid piston index."); + } + } + + /** + * 修复常见问题 + * @param car 汽车对象 + */ + private void fixCommonIssues(Car car) { + // 修复轮胎气压 + for (int i = 0; i < car.getWheels().size(); i++) { + Wheel wheel = car.getWheels().get(i); + wheel.setPressure(32); // 设置标准气压 + System.out.println("Adjusted wheel " + i + " pressure to standard level."); + } + + // 重置电子系统 + ElectronicSystem es = car.getElectronicSystem(); + for (ElectronicControlUnit ecu : es.getEcuList()) { + if (!ecu.isOperational()) { + ecu.reset(); + } + } + } + + /** + * 执行定期保养 + * @param car 汽车对象 + */ + public void performMaintenance(Car car) { + System.out.println("Performing scheduled maintenance for " + car.getBrand() + " " + car.getModel()); + + // 检查并调整所有系统 + System.out.println("- Checking engine oil level"); + System.out.println("- Checking coolant level"); + System.out.println("- Checking brake fluid"); + System.out.println("- Inspecting tires"); + System.out.println("- Lubricating moving parts"); + + // 运行完整诊断 + car.runDiagnostics(); + + System.out.println("Maintenance completed successfully."); + } +} \ No newline at end of file