汽车租赁:
分为客车和轿车两种:
客车小于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如何实现汽车租赁系统的详细内容。