java编写汽车租赁系统

本文实例为大家分享了java编写汽车租赁系统的具体代码,供大家参考,具体内容如下

题目要求:

1,汽车租赁信息表如下:

2,类和属性:

3,运行效果:

效果实现:

代码实现:

1,车类:

package homework.exam;

public abstract  class Vehicle {
    private String num;
    private String brand;
    private double rent;

    public String getNum() {
        return num;
    }

    public void setNum(String num) {
        this.num = num;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public double getRent() {
        return rent;
    }

    public void setRent(double rent) {
        this.rent = rent;
    }

    public Vehicle() {
    }
    //含参构造
    public Vehicle(String num, String brand, double rent) {
        this.num = num;
        this.brand = brand;
        this.rent = rent;
    }

    @Override
    public String toString() {
        return "汽车{" +
                "车牌号='" + num + '\'' +
                ", 品牌='" + brand + '\'' +
                ", 日租金=" + rent +
                '}';
    }
    public abstract double totalmoney(int days , double rent);
    public abstract boolean equals(Vehicle o);
}

2,汽车类:

package homework.exam;

public class Cars extends Vehicle{
    private String type;

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public Cars(String brand,String type) {
        this.type = type;

    }

    public Cars(String num, String brand, double rent, String type) {
        super(num, brand, rent);
        this.type = type;
    }

    @Override
    public String toString() {
        return "Cars{" +
                "type='" + type + '\'' +
                '}';
    }

    //计算小汽车的总租金
    @Override
    public double totalmoney(int days, double rent) {
        if (days>7){
            return days*rent*0.9;
        }else if (days>30){
            return days*rent*0.8;
        }else if (days>150){
            return days*rent*0.7;
        }
        return days*rent;
    }
    //重写equals方法
    @Override
    public boolean equals(Vehicle o) {
        if (o instanceof Cars){
            Cars cars= (Cars) o;
            return this.getType().equals(cars.getType())&&this.getBrand().equals(o.getBrand());
        }
        return false;
    }
}

3,客车类:

package homework.exam;

public class Bus extends Vehicle {
    private String seat;

    public String getSeat() {
        return seat;
    }

    public void setSeat(String seat) {
        this.seat = seat;
    }

    public Bus(String num, String brand, double rent, String seat) {
        super(num, brand, rent);
        this.seat = seat;
    }

    //计算客车的租金
    @Override
    public double totalmoney(int days, double rent) {
        if (days>=3){
            return days*rent*0.9;
        }else if (days>=7){
            return days*rent*0.8;
        }else if (days>=30){
            return days*rent*0.7;
        }else if (days>=150){
            return days*rent*0.6;
        }
        return days*rent;
    }
    //重写equals方法
    @Override
    public boolean equals(Vehicle o) {
        return false;
    }
}

4,车辆管理类:

package homework.exam;

public class CarRent {
    //创建汽车数组,将汽车的信息放在数组中
    public Cars[] carMake(){
        Cars c1 = new Cars("京NY28588", "宝马", 800, "x6");
        Cars c2 = new Cars("京CNY3284", "宝马", 600, "550i");
        Cars c3 = new Cars("京NT37465", "别克", 300, "林荫大道");
        Cars c4 = new Cars("京NT96928", "别克", 600, "GL8");
        Cars[] arr1 ={c1,c2,c3,c4};
        return arr1;
    }
    //创建客车数组,将汽车的信息放在数组中
    public Bus[] busMake(){
        Bus b1 = new Bus("京6566754", "金杯", 800, "16座");
        Bus b2 = new Bus("京8696667", "金龙", 800, "16座");
        Bus b3 = new Bus("京9696996", "金杯", 1500, "34座");
        Bus b4 = new Bus("京8696998", "金龙", 1500, "34座");
        Bus[] arr2={b1,b2,b3,b4};
        return arr2;
    }
}

5,业务服务类:

package homework.exam;

import java.util.Scanner;

public class CarService {
    public void rentcar(){
        System.out.println("**********欢迎光临秋名山守望者汽车租赁公司**********");
        Scanner sc = new Scanner(System.in);
        System.out.println("1,轿车  2,客车");
        System.out.print("请输入您要租赁的汽车类型:");
        int i = sc.nextInt();
        CarRent carRent = new CarRent();    //创建车库对象
        Cars[] cars = carRent.carMake();    //拿到轿车数组对象
        Cars car=null;
        Bus[] buses = carRent.busMake();    //拿到客车数组对象
        Bus bus=null;
        //判断用户选择的车型
        if (i==1){
            System.out.print("请选择你要租赁的汽车品牌:(1,别克  2,宝马)");
            int i1 = sc.nextInt();
            if (i1==1){
                System.out.print("请输入你要租赁的汽车类型:(1,林荫大道 2,GL8 )");
            }else {
                System.out.print("请输入你要租赁的汽车类型:(1,x6 2,550i )");
            }
            String i2 = sc.next();
            //遍历汽车数组,拿到用户选择的汽车
            for (int j = 0; j < cars.length; j++) {
                if (cars[j].getType().equals(i2)){  //当选择的车的类型与数组中的匹配时
                    car=cars[j];        //将车赋值给car
                    break;
                }
            }
            System.out.print("请输入你要租赁的天数:");
            int days = sc.nextInt();
            System.out.print("分配给你的汽车牌号是:");
            System.out.println(car.getNum());   //获取汽车的车牌
            double totalmoney =0;           //调用total
            totalmoney = car.totalmoney(days, car.getRent());   //计算用户的租金
            System.out.print("你需要支付的租赁分费用是:");
            System.out.print(totalmoney);

        }else if (i==2){
            System.out.print("请选择你要租赁的汽车品牌:(1,金龙  2,金杯)");
            String i2 = sc.next();
            System.out.print("请输入你要租赁的汽车座位数:(1,16座  2,34座)");
            String i3 = sc.next();
            //遍历客车数组,拿到用户选择的客车
            for (int j = 0; j < buses.length; j++) {
                //当输入的客车的车牌和座位与数组中的相等,就选出用户选择的车
                if (buses[j].getBrand().equals(i2)&&buses[j].getSeat().equals(i3)){
                    bus=buses[j];   //将选择的车辆赋值给bus
                    break;
                }
            }
            System.out.print("请输入你要租赁的天数:");
            int days = sc.nextInt();
            System.out.print("分配给你的汽车牌号是:");
            System.out.println();
            System.out.println(bus.getNum());   //拿到用户选择的车牌号
            double totalmoney = 0;      //调用totalmoney方法
            totalmoney=bus.totalmoney(days, bus.getRent());     //用用户输入的天数。来计算租金
            System.out.print("你需要支付的租赁分费用是:");
            System.out.print(totalmoney);
        }
    }
}

6,测试类:

package homework.exam;

public class Test {
    public static void main(String[] args) {
        CarService cs = new CarService();
        cs.rentcar();
    }
}

控制台输入的内容,我选择的是输入字符串类型,没有按照效果图上,如果你做的话,你可以用三元运算符来实现哦!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java实现简单的汽车租赁系统

    本文实例为大家分享了java实现简单的汽车租赁系统的具体代码,供大家参考,具体内容如下 欢迎进入xx汽车租赁公司请输入用户名请输入密码(用户名默认是名字缩写,密码是123,将登陆模块封装到方法中去调用方法)请输入您的操作1)查看现在车库中的所有车辆信息2)租赁汽车3)往车库中添加汽车4)修改汽车租赁价格信息 用switch去判断操作 类分析 代码: package com.youjiuye.bms; public class CRMS {     public static void main(

  • Java 汽车租赁系统详细实现代码

    汽车租赁: 分为客车和轿车两种: 客车小于20座:500一天,大于20座:900一天. 轿车分为豪华和普通:豪华600一天,普通200一天. 效果图: 代码如下: 机动车类: package busTest; /* 机动车类 */ public abstract class MotoVehicle { private String carNumber; //车牌号 private String carBrand; // 车品牌 //构造方法 public MotoVehicle(){} publ

  • java实现汽车租赁系统

    本文实例为大家分享了java实现汽车租赁系统的具体代码,供大家参考,具体内容如下 //车类 public abstract class Vehicle { //车牌号 品牌 日租金 private String id; private String brand; private int perRent; public Vehicle(){} //Vehicle的带参构造方法 public Vehicle(String id, String brand, int perRent) { this.i

  • Java面向对象实现汽车租赁系统

    本文实例为大家分享了Java实现汽车租赁系统的具体代码,供大家参考,具体内容如下 父类Vehicle public abstract class Vehicle {     private String num;     private String brand;     private  double rent;     //重写equals方法     public abstract boolean equals(Vehicle v);     //计算费用     public abstr

  • Java实现简单汽车租赁系统

    本文实例为大家分享了Java实现简单汽车租赁系统的具体代码,供大家参考,具体内容如下 需求如下:  问题分析: 首先应当构建一个MotoVehicle的抽象(abstract)类,类里面包含一个brand属性,表示汽车品牌:还包含一个no属性,表示汽车牌号: package cn.jbit.car; public abstract class MotoVehicle { private String no; private String brand; /** * 无参构造方法 */ public

  • java编写汽车租赁系统

    本文实例为大家分享了java编写汽车租赁系统的具体代码,供大家参考,具体内容如下 题目要求: 1,汽车租赁信息表如下: 2,类和属性: 3,运行效果: 效果实现: 代码实现: 1,车类: package homework.exam; public abstract  class Vehicle {     private String num;     private String brand;     private double rent;     public String getNum(

  • Java从零编写汽车租赁系统全程分析

    目录 覆盖知识 项目需求 设计步骤 开发思路 类的属性和方法 代码展示 效果展示 覆盖知识 程序基本概念.数据类型.流程控制.顺序.选择 .循环.跳转语句.变量.类.方法.继承.多态. 掌握数据库.JDBC.三层架构等相关知识. 掌握Druid连接池.Apache的DBUtils使用 . 项目需求 某汽车租赁公司出租多种轿车和客车,出租费用以日为单位计算. 出租车型及信息如下表所示: 车型 具体信息 日租金 折扣 轿车 宝马X6(京NY28588) 800 days>7天9折 days>30天

  • C#实现简单的汽车租赁系统

    最近学习了继承,多态,集合,设计模式,有一个汽车租凭系统,给大家分享一下: 我们首先来看看我们这个系统的效果 1.做一个项目,我们首先对项目进行分析 根据我们最近学的知识,我们可以看出继承,多态,集合,设计模式,我们都能用到 我们把所需要的类和简单模式中的"简单工厂"的工厂准备好 类图: 01.车辆类(父类) using System; using System.Collections.Generic; using System.Linq; using System.Text; usi

  • C#实现汽车租赁系统项目

    本文实例为大家分享了C#实现汽车租赁系统的具体代码,供大家参考,具体内容如下 汽车和卡车的父类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; //父类变量和方法 namespace 汽车租赁系统 { public class Inheritance { public Inheritance() { } publi

  • java实现租车系统

    今天用JAVA编写了一个租车系统,过程中主要遇到的两个问题: 1.输出数组信息问题: 在得到cars[]数组后,要生成租车信息表,目前有两种思路:一是用循环输出:二是用Arrays.toString()输出数组信息. 用toString()方法输出数组输出--@--形式的哈希码地址,这里需要对toString()方法进行重写,在数组涉及到的类中进行重写. 不过用第二种方法输出的其实还是一个数组,形式如图所示.那么问题来了--还有没有更好的输出方法呢? 2.父类方法不能访问子类成员变量: 本来在父

随机推荐