java实现简单租车系统

 更新时间:2019年01月29日 10:17:46   作者:浅然_  
这篇文章主要为大家详细介绍了java实现简单租车系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java实现租车系统Demo,供大家参考,具体内容如下

这也是参考了mooc上的一个基础项目,所以拿来写一下。不过我的Demo肯定有不好或者错误的地方,欢迎指出

1、项目功能/需求

a、展示所有可租车辆
b、选择车型、租车量
c、展示租车清单,包含:总金额、总载货量、总载客量

2、项目系统UML图

3、项目源码Demo

Car类

package Car.rental;

public class Car {
 private String name;
 private int rent;
 private int passenger;
 private double volume;
 public String getName() {
 return name;
 }
 public void setName(String name) {
 this.name = name;
 }
 public int getRent() {
 return rent;
 }
 public void setRent(int rent) {
 this.rent = rent;
 }
 public int getPassenger() {
 return passenger;
 }
 public void setPassenger(int passenger) {
 this.passenger = passenger;
 }
 public double getVolume() {
 return volume;
 }
 public void setVolume(double volume) {
 this.volume = volume;
 }

}

Truck类

package Car.rental;

public class Truck extends Car {
 private String name;
 private int rent;
 private double volume;
 public Truck(String name,int rent,double volume)
 {
 this.name=name;
 this.rent=rent;
 this.volume=volume;
 }
 public String getName() {
 return name;
 }
 public void setName(String name) {
 this.name = name;
 }
 public int getRent() {
 return rent;
 }
 public void setRent(int rent) {
 this.rent = rent;
 }
 public double getVolume() {
 return volume;
 }
 public void setVolume(double volume) {
 this.volume = volume;
 }

}

Coach类

package Car.rental;

public class Coach extends Car {

 private String name;
 private int rent;
 private int passenger;
 public Coach(String name,int rent,int passenger) {
 this.name=name;
 this.passenger=passenger;
 this.rent=rent;
 }
 public int getPassenger() {
 return passenger;
 }
 public void setPassenger(int passenger) {
 this.passenger = passenger;
 }
 public String getName() {
 return name;
 }
 public void setName(String name) {
 this.name = name;
 }
 public int getRent() {
 return rent;
 }
 public void setRent(int rent) {
 this.rent = rent;
 }
}

Pickup类

package Car.rental;

public class Pickup extends Car {
 private String name;
 private int rent;
 private int passenger;
 private double volume;
 public Pickup(String name,int rent,int passenger,double volume)
 {
 this.name=name;
 this.passenger=passenger;
 this.rent=rent;
 this.volume=volume;
 }
 public int getPassenger() {
 return passenger;
 }
 public void setPassenger(int passenger) {
 this.passenger = passenger;
 }
 public double getVolume() {
 return volume;
 }
 public void setVolume(double volume) {
 this.volume = volume;
 }
 public String getName() {
 return name;
 }
 public void setName(String name) {
 this.name = name;
 }
 public int getRent() {
 return rent;
 }
 public void setRent(int rent) {
 this.rent = rent;
 }

}

测试类

package Car.rental;

import java.util.Scanner;

public class main_Car {

 public static void main(String[] args) {
 // TODO Auto-generated method stub
 /*****创建车对象*******/
 /*Car tru=new Truck("拉丝货车",200,1.1);
 Car coa=new Coach("法法客车",150,20);
 Car Pic=new Pickup("无名皮卡车",300,4,0.5);*/
 Car[] Allcar= {new Truck("拉丝货车",200,1.1),new Coach("法法客车",150,20),
   new Pickup("无名皮卡车",300,4,0.5)};

 System.out.println("请问您是否要租车:1.是 2.否");
 Scanner scan=new Scanner(System.in);
 String input=scan.next();
 if(input.equals("1"))
 {
  int all_rent = 0;//总租金
  int all_passenger=0;//总载客
  double all_volume=0.0;//总载货
  System.out.println("您可租车的类型及其价目");
  System.out.println("序号\t汽车名称\t租金\t容量\t");
  for(int i=0;i<Allcar.length;i++)
  {
  if(Allcar[i] instanceof Truck)
  {
   System.out.println((i+1)+"\t"+Allcar[i].getName()+"\t"+Allcar[i].getRent()+"\t"+"载货:"+Allcar[i].getVolume());
  }
  if(Allcar[i] instanceof Coach)
  {
   System.out.println((i+1)+"\t"+Allcar[i].getName()+"\t"+Allcar[i].getRent()+"\t"+"载客:"+Allcar[i].getPassenger());
  }
  if(Allcar[i] instanceof Pickup)
  {
   System.out.println((i+1)+"\t"+Allcar[i].getName()+"\t"+Allcar[i].getRent()+"\t"+"载客:"+Allcar[i].getPassenger()+"载货:"+Allcar[i].getVolume());
  }
  }
  System.out.println("请输入您要租车的数量");
  int sum=scan.nextInt();
  int Car_order;
  for(int j=0;j<sum;j++)
  {
  System.out.print("你要租的第"+(j+1)+"辆车的序号是:");
  Car_order=scan.nextInt();
  System.out.println();
  if(Allcar[Car_order-1] instanceof Truck)
  {
   all_rent+=Allcar[Car_order-1].getRent();
   all_volume+=Allcar[Car_order-1].getVolume();
  }
  if(Allcar[Car_order-1] instanceof Coach)
  {
   all_rent+=Allcar[Car_order-1].getRent();
   all_passenger+=Allcar[Car_order-1].getPassenger();
  }
  if(Allcar[Car_order-1] instanceof Pickup)
  {
   all_rent+=Allcar[Car_order-1].getRent();
   all_passenger+=Allcar[Car_order-1].getPassenger();
   all_volume+=Allcar[Car_order-1].getVolume();
  }
  }
  System.out.println("您的总租金是:"+all_rent);
  System.out.println("您的总载货是:"+all_volume);
  System.out.println("您的总载客是:"+all_passenger);
 }

 }

}

4、项目命令行演示结果

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

相关文章

  • 使用java实现银行家算法

    使用java实现银行家算法

    这篇文章主要为大家详细介绍了如何使用java实现银行家算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • Java方法的参数传递机制实例详解

    Java方法的参数传递机制实例详解

    这篇文章主要介绍了Java方法的参数传递机制,结合实例形式详细分析了java方法参数传递机制原理、实现方法及操作注意事项,需要的朋友可以参考下
    2019-09-09
  • 如何将Java对象转换为JSON实例详解

    如何将Java对象转换为JSON实例详解

    有时候需要将对象转换为JSON格式,所以这篇文章主要给大家介绍了关于如何将Java对象转换为JSON的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • Spring Boot集成JasperReport生成文档的方法

    Spring Boot集成JasperReport生成文档的方法

    由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲染生成PDF文档,这篇文章主要介绍了Spring Boot集成JasperReport生成文档,需要的朋友可以参考下
    2023-09-09
  • Java常用API类之Math System tostring用法详解

    Java常用API类之Math System tostring用法详解

    System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包,Java 的 Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数,toString() 方法用于返回以一个字符串表示的 Number 对象值
    2021-10-10
  • SpringBoot集成支付宝沙箱支付(支付、退款)

    SpringBoot集成支付宝沙箱支付(支付、退款)

    这篇文章主要为大家详细介绍了SpringBoot集成支付宝沙箱支付,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • Spring IOC容器Bean注解创建对象组件扫描

    Spring IOC容器Bean注解创建对象组件扫描

    这篇文章主要为大家介绍了Spring IOC容器Bean注解创建对象组件扫描,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 关于Mybatis-Plus Wrapper是否应该出现在Servcie类中

    关于Mybatis-Plus Wrapper是否应该出现在Servcie类中

    最近在做代码重构,代码工程采用了Controller/Service/Dao分层架构,Dao层使用了Mybatis-Plus框架,本文带领大家学习Mybatis-Plus Wrapper应该出现在Servcie类中吗,需要的朋友可以参考下
    2023-05-05
  • 详解Java实现JSONArray转Map的三种实现方式

    详解Java实现JSONArray转Map的三种实现方式

    本文主要介绍了Java实现JSONArray转Map的三种实现方式,本文只是自己常用的三种,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Spring Boot+maven打war包的方法

    Spring Boot+maven打war包的方法

    这篇文章主要介绍了Spring Boot+maven打war包的方法,本文通过实例代码相结合的形式给大家介绍的非常详细,需要的朋友参考下吧
    2018-05-05

最新评论