From 622db796332ed736e67a41d8f697efe5fa2fef3f Mon Sep 17 00:00:00 2001 From: yuangandong <1975775515@qq.com> Date: Mon, 23 Mar 2026 12:16:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20'w3'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- w3/w3car | 78 +++++++++++++++++++++++++++++++++++++++++++ w3/w3testcar | 31 +++++++++++++++++ w3/实验报告.docx | Bin 0 -> 12529 bytes 3 files changed, 109 insertions(+) create mode 100644 w3/w3car create mode 100644 w3/w3testcar create mode 100644 w3/实验报告.docx diff --git a/w3/w3car b/w3/w3car new file mode 100644 index 0000000..0275414 --- /dev/null +++ b/w3/w3car @@ -0,0 +1,78 @@ +package com.rental; + +public class Car { + private final String licensePlate; + private String brand; + private String model; + private double dailyRent; + private boolean isRented; + private static int totalCars = 0; + + // 全参构造 + public Car(String licensePlate, String brand, String model, double dailyRent) { + this.licensePlate = licensePlate; + this.brand = brand; + this.model = model; + this.dailyRent = dailyRent; + this.isRented = false; + totalCars++; + } + + // 重载构造(默认日租金300) + public Car(String licensePlate, String brand, String model) { + this(licensePlate, brand, model, 300.0); + } + + // Getter/Setter + public String getLicensePlate() { return licensePlate; } + public String getBrand() { return brand; } + public void setBrand(String brand) { this.brand = brand; } + public String getModel() { return model; } + public void setModel(String model) { this.model = model; } + public double getDailyRent() { return dailyRent; } + + public void setDailyRent(double dailyRent) { + if (dailyRent > 0) { + this.dailyRent = dailyRent; + } else { + System.out.println("日租金必须大于0,修改失败!"); + } + } + + public boolean isRented() { return isRented; } + + // 业务方法 + public void rentCar() { + if (isRented) { + System.out.println("车辆已租出,无法再次租用"); + } else { + isRented = true; + System.out.println("车辆已成功租出"); + } + } + + public void returnCar() { + if (!isRented) { + System.out.println("车辆未被租用,无需归还"); + } else { + isRented = false; + System.out.println("车辆已成功归还"); + } + } + + public double calculateRent(int days) { + return dailyRent * days; + } + + public void displayInfo() { + System.out.println("车牌号:" + licensePlate + + ",品牌:" + brand + + ",型号:" + model + + ",日租金:" + dailyRent + + "元/天,状态:" + (isRented ? "已租出" : "可租")); + } + + public static int getTotalCars() { + return totalCars; + } +} \ No newline at end of file diff --git a/w3/w3testcar b/w3/w3testcar new file mode 100644 index 0000000..0fbb8be --- /dev/null +++ b/w3/w3testcar @@ -0,0 +1,31 @@ +package com.rental; + +public class TestCar { + public static void main(String[] args) { + Car car1 = new Car("豫A12345", "比亚迪", "汉EV", 280.0); + Car car2 = new Car("豫B67890", "特斯拉", "Model 3"); + Car car3 = new Car("豫C54321", "丰田", "凯美瑞", 220.0); + + System.out.println("=== 初始车辆信息 ==="); + car1.displayInfo(); + car2.displayInfo(); + car3.displayInfo(); + + System.out.println("\n=== 测试租车/还车 ==="); + car1.rentCar(); + car1.rentCar(); + car1.returnCar(); + car1.returnCar(); + + System.out.println("\n=== 计算5天租金 ==="); + double rent = car2.calculateRent(5); + System.out.println("车辆" + car2.getLicensePlate() + "租赁5天总租金:" + rent + "元"); + + System.out.println("\n=== 测试非法日租金修改 ==="); + car3.setDailyRent(-100); + System.out.println("修改后日租金:" + car3.getDailyRent() + "元/天(保持原值)"); + + System.out.println("\n=== 总车辆数 ==="); + System.out.println("当前系统中车辆总数:" + Car.getTotalCars() + "辆"); + } +} \ No newline at end of file diff --git a/w3/实验报告.docx b/w3/实验报告.docx new file mode 100644 index 0000000000000000000000000000000000000000..a2a36f9ddd1bc43f6b97dab7856aff92a445b227 GIT binary patch literal 12529 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 w$=4h27x=F&!hc_