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实现爬取往期所有双色球开奖结果功能,涉及Java网页抓取、正则替换、文件读写等相关操作技巧,需要的朋友可以参考下
    2018-07-07
  • Java实现图片上传至FastDFS入门教程

    Java实现图片上传至FastDFS入门教程

    这篇文章主要介绍了Java实现图片上传至FastDFS入门教程,通过前端ajax提交图片到后端,java处理服务器文件上传至FastDFS文件服务器系统,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • Java e.printStackTrace()案例讲解

    Java e.printStackTrace()案例讲解

    这篇文章主要介绍了Java e.printStackTrace()案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Java使用嵌套循环模拟ATM机取款业务操作示例

    Java使用嵌套循环模拟ATM机取款业务操作示例

    这篇文章主要介绍了Java使用嵌套循环模拟ATM机取款业务操作,结合实例形式分析了Java模拟ATM机取款业务操作的相关流程控制、数值判断等操作技巧,需要的朋友可以参考下
    2019-11-11
  • 实例详解java Struts2的配置与简单案例

    实例详解java Struts2的配置与简单案例

    这篇文章主要介绍了java Struts2的配置与简单案例,需要的朋友可以参考下
    2017-04-04
  • 详解SpringBoot中关于%2e的Trick

    详解SpringBoot中关于%2e的Trick

    这篇文章主要介绍了SpringBoot中关于%2e的Trick,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Java创建可执行的Jar文件的方法实践

    Java创建可执行的Jar文件的方法实践

    创建的可执行Jar文件实际就是在原始Jar的清单文件中添加了Main-Class的配置,本文主要介绍了Java创建可执行的Jar文件的方法实践,感兴趣的可以了解一下
    2023-12-12
  • 图解Java中插入排序算法的原理与实现

    图解Java中插入排序算法的原理与实现

    插入排序的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。本文将通过图片详解插入排序的原理及实现,需要的可以参考一下
    2022-08-08
  • springboot配合Thymeleaf完美实现遍历功能

    springboot配合Thymeleaf完美实现遍历功能

    Thymeleaf显然是一个开发页面的技术,现在各种前端技术层出不穷,比如现在主流的Vue、React、AngularJS等。这篇文章主要介绍了springboot配合Thymeleaf完美实现遍历,需要的朋友可以参考下
    2021-09-09
  • 使用springboot在工具类中读取配置文件(ClassPathResource)

    使用springboot在工具类中读取配置文件(ClassPathResource)

    这篇文章主要介绍了使用springboot在工具类中读取配置文件(ClassPathResource),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08

最新评论