Browse Source

W3-徐景旺-202414010701

XuJingwang 4 weeks ago
parent
commit
806d96656f
  1. 74
      W3/com/rental/Car.java
  2. 41
      W3/com/rental/TestCar.java

74
W3/com/rental/Car.java

@ -0,0 +1,74 @@
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;
if (dailyRent > 0) {
this.dailyRent = dailyRent;
} else {
this.dailyRent = 300;
System.out.println("日租金不合法");
}
this.isRented=false;
Car.totalCars+=1;
}
public String getLicensePlate(){
return licensePlate;
}
public Car(String licensePlate, String brand, String model) {
this(licensePlate, brand, model, 300);
}
public String getBrand(){
return brand;
}
public String getModel(){
return model;
}
public double getDailyRent(){
return dailyRent;
}
public boolean isRented() {
return isRented;
}
public void setBrand(String brand){
this.brand=brand;
}
public void setmodel(String model){
this.model=model;
}
public void setdailyRent(double dailyRent){
if (dailyRent > 0) {
this.dailyRent = dailyRent;
} else {
System.out.println("租金不合法");
}
}
public void rentCar(){
if(isRented){
System.out.println("车辆已租出,无法再次租用");
return;
}
this.isRented=true;
}
public void returnCar(){
if (!isRented){
System.out.println("车辆未被租用,无需归还");
return;
}
this.isRented=false;
}
public double calculateRent(int days){
return dailyRent*days;
}
public static int getTotalCars(){
return totalCars;
}
}

41
W3/com/rental/TestCar.java

@ -0,0 +1,41 @@
package com.rental;
public class TestCar {
public static void main(String[] args) {
// 构造方法
Car car1 = new Car("A123", "Toyota", "Camry", 300);
Car car2 = new Car("B456", "Honda", "Civic"); // 默认租金
Car car3 = new Car("C789", "BMW", "X5", -100); // 非法租金测试
// 输出车辆信息
System.out.println("所有车辆信息:");
displayInfo(car1);
displayInfo(car2);
displayInfo(car3);
// 流程测试
System.out.println("租车流程测试:");
car1.rentCar(); // 第一次租
car1.rentCar(); // 再租
car1.returnCar(); // 第一次还
car1.returnCar(); // 再还
//计算租金
System.out.println("租金计算:");
double rent = car2.calculateRent(5);
System.out.println("car2 租用5天费用: " + rent);
// 非法租金
System.out.println("非法租金测试:");
car2.setdailyRent(-100); // 给一个非法值
System.out.println("car2 当前日租金: " + car2.getDailyRent());
// 输出总车辆数
System.out.println("总车辆数");
System.out.println("Total Cars: " + Car.getTotalCars());
}
//输出车辆信息
public static void displayInfo(Car car) {
System.out.println("车牌号: " + car.getLicensePlate());
System.out.println("品牌: " + car.getBrand());
System.out.println("型号: " + car.getModel());
System.out.println("日租金: " + car.getDailyRent());
System.out.println("是否已租出: " + (car.isRented() ? "是" : "否"));
}
}
Loading…
Cancel
Save