Java 汽车租赁系统详细实现代码
汽车租赁:
分为客车和轿车两种:
客车小于20座:500一天,大于20座:900一天。
轿车分为豪华和普通:豪华600一天,普通200一天。
效果图:
代码如下:
机动车类:
package busTest; /* 机动车类 */ public abstract class MotoVehicle { private String carNumber; //车牌号 private String carBrand; // 车品牌 //构造方法 public MotoVehicle(){} public MotoVehicle(String carNumber, String carBrand) { this.carNumber = carNumber; this.carBrand = carBrand; } // get/set public String getCarNumber(){ return carNumber; } public void setCarNumber(String carNumber){ this.carNumber = carNumber; } public String getCarBrand(){ return carBrand; } public void setCarBrand(String carBrand){ this.carNumber = carNumber; } /* 计算租赁的方法 */ public abstract int calRent(int days); }
客车类:
package busTest; public class Bus extends MotoVehicle { private int setCount; //座位数 //通过构造方法初始化对象 public Bus(String carNUmber, String brand, int setCount) { super(carNUmber, brand); this.setCount = setCount; } @Override public int calRent(int days) { //根据座位数量来判断租赁的金额 if (this.setCount < 20) { return days * 500; } else { return days * 900; } } public void showBusInfo(int days) { System.out.println("*"); System.out.println("\t车牌号:" + super.getCarNumber()); System.out.println("\t车品牌:" + super.getCarBrand()); System.out.println("\t座位数:" + this.setCount); System.out.println("\t租赁天数:" + days); System.out.println("\t金额:" + calRent(days)); } }
轿车类:
package busTest; public class Car extends MotoVehicle { private String type; //汽车类型 普通/豪华 //通过构造方法初始化对象 public Car(String carNUmber, String brand, String type) { super(carNUmber, brand); this.type = type; } @Override public int calRent(int days) { //根据类型来决定价格 if ("豪车".equals(type)) { return days * 600; } else { return days * 200; } } public void showCarInfo(int days) { System.out.println("*"); System.out.println("\t车牌号:" + super.getCarNumber()); System.out.println("\t车品牌:" + super.getCarBrand()); System.out.println("\t车类型:" + this.type); System.out.println("\t租赁天数:" + days); System.out.println("\t金额:" + calRent(days)); } }
租车顾客类:
package busTest; /* 顾客类 */ import java.util.Scanner; public class Customer { private String name; private int sum = 0; //当不确定我的购物车内具体是轿车还是客车,那就以父亲类类型创建对象数组 MotoVehicle[] motos = new MotoVehicle[10]; Scanner input = new Scanner(System.in); public void showMenu() { //定义一个父类机动车的对象,在下面可以接收 MotoVehicle moto = null; System.out.println("******汽车租赁系统*******"); String answer; do { System.out.println("1、租赁客车 2、租赁轿车"); System.out.print("请输入编号:"); int num = input.nextInt(); if (num == 1) { //创建租赁的客车对象 moto = rentBus(); } else if (num == 2) { //创建租赁的轿车对象 moto = rentCar(); } for (int i = 0; i < motos.length; i++) { if (motos[i] == null) { motos[i] = moto; break; } } System.out.print("是否继续租赁?:y/n"); answer = input.next(); } while (!"n".equals(answer)); System.out.print("请输入你的姓名:"); this.name = input.next(); System.out.print("租赁的天数:"); int days = input.nextInt(); //根据天数来统计租赁金额 calTotalRent(days); //显示租赁的信息 showInfo(days); } private void showInfo(int days) { System.out.println("---------------------租赁汽车信息---------------------"); for (int i = 0; i < motos.length; i++) { MotoVehicle moto = this.motos[i]; if (moto != null) { if (moto instanceof Bus) { Bus bus = (Bus) moto; bus.showBusInfo(days); } else if (moto instanceof Car) { Car car = (Car) moto; car.showCarInfo(days); } } } System.out.println("\t顾客:" + this.name + "\t\t总金额:" + sum); System.out.println("----------------------------------------------------"); } private void calTotalRent(int days) { int total = 0; for (MotoVehicle moto : motos) { if (moto != null) { int rent = moto.calRent(days); total += rent; //累加总金额 } this.sum = total;// 把总金额复制给全局变量 sum } } //轿车 private MotoVehicle rentCar() { System.out.print("请输入轿车品牌:"); String brand = input.next(); System.out.print("请输入轿车车牌号:"); String carNumber = input.next(); System.out.print("请选择轿车类型[1、豪车 2、普通车:]"); int choise = input.nextInt(); String type; if (choise == 1) { type = "豪车"; } else { type = "普通型"; } return new Car(carNumber, brand, type); } //客车 private MotoVehicle rentBus() { System.out.print("请输入客车品牌:"); String brand = input.next(); System.out.print("请输入客车车牌号:"); String carNumber = input.next(); System.out.print("请输入客车座位数:"); int seatCount = input.nextInt(); return new Bus(carNumber, brand, seatCount); } }
测试类:
package busTest; public class TestMain { public static void main(String[] args) { Customer customer = new Customer(); customer.showMenu(); } }
到此这篇关于Java 汽车租赁系统详细实现代码的文章就介绍到这了,更多相关Java 汽车租赁系统内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
赞 (0)