答答租车系统(实际开发代码编写)

一、项目功能

1、展示所有可租车辆

2、选择车型、租车辆、租车天数

3、展示租车清单,包括总金额、总载货量及车型、总载客量及车型

二、项目分析

1、数据模型:通过对现实世界的事与物的主要特征的分析、抽象,提取数据结构及相应的约束。其中,数据结构的组成是:操作(方法)、属性,如将现实的车写成代码。本项目的数据模型是??模型。

货车(载货量) 客车(载客量) 皮卡车(载货、载客量)

轻型(5t)、重型(5-20t)

小客车(4人)、大客车(>10人) 载货、载客

2、业务模型:设计程序之前,应该明确程序执行的任务,确认业务需求的目的在于创建一个能同时满足零售商和消费者需要的解决方案。本项目中??消费者。

用户

选车   租车天数   统计金额   载货、载客量

3、显示和流程

显示:用户可以看到的信息提示界面

流程:显示信息的执行过程、步骤

二、项目实现

1、模型层:在答答租车系统中,我们的数据模型是汽车,所以我们首先创建汽车模型类。

(1)创建汽车模型类

 1 package com.companyname.model;
 2
 3 /**
 4  * 汽车模型类
 5  *
 6  * @author wangna
 7  */
 8 public class Car {
 9     private int carId;// 车序号
10     private String carName;
11     private double priceForAday;// 一天的租金
12     private int personAmount;// 容量
13     private int carAmount;// 容量
14
15     public int getCarId() {
16         return carId;
17     }
18
19     public void setCarId(int carId) {
20         this.carId = carId;
21     }
22
23     public String getCarName() {
24         return carName;
25     }
26
27     public void setCarName(String carName) {
28         this.carName = carName;
29     }
30
31     public double getPriceForAday() {
32         return priceForAday;
33     }
34
35     public void setPriceForAday(double priceForAday) {
36         this.priceForAday = priceForAday;
37     }
38
39     public int getPersonAmount() {
40         return personAmount;
41     }
42
43     public void setPersonAmount(int personAmount) {
44         this.personAmount = personAmount;
45     }
46
47     public int getCarAmount() {
48         return carAmount;
49     }
50
51     public void setCarAmount(int carAmount) {
52         this.carAmount = carAmount;
53     }
54
55 }

(2)创建租车信息模型类

 1 package com.companyname.model;
 2
 3 public class RentInfo {
 4     private Car car;
 5     private int day;// 租的天数
 6     private int nums;// 租几辆
 7     private double sumPrize;
 8
 9     public Car getCar() {
10         return car;
11     }
12
13     public void setCar(Car car) {
14         this.car = car;
15     }
16
17     public int getDay() {
18         return day;
19     }
20
21     public void setDay(int day) {
22         this.day = day;
23     }
24
25     public int getNums() {
26         return nums;
27     }
28
29     public void setNums(int nums) {
30         this.nums = nums;
31     }
32
33     public double getSumPrize() {
34         return sumPrize;
35     }
36
37     public void setSumPrize(double sumPrize) {
38         this.sumPrize = sumPrize;
39     }
40
41 }

2、服务层:

(1)显示车信息

 1 package com.companyname.service;
 2
 3 import java.util.ArrayList;
 4 import java.util.List;
 5
 6 import com.companyname.model.Car;
 7
 8 public class CarInfoService {
 9
10     private List<Car> carList = new ArrayList<>();//车的集合(看作长度可变化的数组)
11
12     /**
13      * 添加car到carlist
14      * 注意:
15      * 所添加的car是在页面(客户端,即main())传入的
16      */
17     public void addCar(Car car){
18         carList.add(car);
19     }
20
21     /**
22      * 获取所有的car信息
23      */
24     public List<Car> getCars() {
25         return carList;
26     }
27
28     /**
29      * 根据carId从carlist中找出相应car
30      */
31     public Car getCarById(int carId) {
32         for (Car car : carList) {
33             if (car.getCarId() == carId) {
34                 return car;
35             }
36         }
37         return null;
38     }
39 }

(2)租车服务

 1 package com.companyname.service;
 2
 3 import com.companyname.model.Car;
 4
 5 public class RentService {
 6
 7     /**
 8      * 客户租车
 9      * @param carId
10      * @param day  租几天
11      * @param amount 租几辆
12      * @return 总金额
13      */
14     public double rentCar(int carId, int day, int amount, CarInfoService sc){
15         double sumPrize = 0;
16         Car car = sc.getCarById(carId);
17         double prizeForCar = car.getPriceForAday();
18         sumPrize = prizeForCar*day*amount;
19         return sumPrize;
20     }
21
22 }

3、创建测试类

 1 package com.companyname.test;
 2
 3 import com.companyname.model.Car;
 4 import com.companyname.model.RentInfo;
 5 import com.companyname.service.CarInfoService;
 6 import com.companyname.service.RentService;
 7
 8 /**
 9  * test class
10  *
11  * @author wangna
12  */
13 public class TestCar {
14     public static void main(String[] args) {
15         CarInfoService sc = new CarInfoService();
16
17         /****************** 1 添加车辆到carList *********************/
18         // audi
19         Car audi = new Car();
20         audi.setCarId(1);
21         audi.setCarName("奥迪A4");
22         audi.setPriceForAday(500);
23         audi.setPersonAmount(4);
24         sc.addCar(audi);
25
26         // pika
27         Car pika = new Car();
28         pika.setCarId(3);
29         pika.setCarName("pika");
30         pika.setPriceForAday(440);
31         pika.setPersonAmount(4);
32         pika.setCarAmount(2);
33         sc.addCar(pika);
34
35         /****************** 2 租车 *********************/
36         RentService rentService = new RentService();
37         Car car = sc.getCarById(1);
38         double prize = rentService.rentCar(car, 2, 2);
39         RentInfo rentInfo = new RentInfo();
40         rentInfo.setCar(car);
41         rentInfo.setDay(2);
42         rentInfo.setNums(2);
43         rentInfo.setSumPrize(prize);
44
45         System.out.println("总金额:" + rentInfo.getSumPrize() + "-->"+"车名:"+rentInfo.getCar().getCarName()+"-->"+"租几天:"+rentInfo.getDay()+"-->"+"租几辆:"+rentInfo.getNums()+"-->"+"总金额:"+rentInfo.getSumPrize());
46     }
47 }

运行结果:

总金额:2000.0-->车名:奥迪A4-->租几天:2-->租几辆:2-->总金额:2000.0

时间: 2024-08-06 16:05:21

答答租车系统(实际开发代码编写)的相关文章

继承、封装和多态的一个简单应用(答答租车系统)

Car.java package com.imooc; //使用面向对象的封装特性public class Car {    // 描述汽车可能有特征    private String name; // 车的名称    private double cargoCapacity;// 车的载货量    private int busLoad;// 车的载客量    private int dailyRent;// 车的日租金 public String getName() {        re

慕课网-哒哒租车系统

//定义一个父类 public class Car {      String name;//车名      double  rent;//租金    public String getName(){            return name;    }    public void setName(String carName){            this.name=carName;    }    public double getRent(){            return

简单的租车系统

完成了一个简单的租车系统.实现简单的租车功能,用户选择租车序号和每辆车所租的天数,计算出租车所需要的费用. /* * 使用gbk编码 */ package adad; import java.util.Scanner; import javax.print.DocFlavor.INPUT_STREAM; import org.omg.CORBA.PUBLIC_MEMBER; /* * 创建汽车类 */ abstract class car{ public void man(){ System.o

基于JSP+Servlet开发在线租车系统 java 源码

运行环境: 最好是java jdk 1.8,我们在这个平台上运行的.其他版本理论上也可以.IDE环境: Eclipse,Myeclipse,IDEA都可以tomcat环境: Tomcat 7.x,8.x,9.x版本均可,理论上Tomcat版本不是太老都可以.硬件环境: windows 7/8/10 1G内存以上主要功能说明: 管理员角色包含以下功能:管理员登录,员工管理,车辆管理,公告管理,图片管理,统计管理等功能.用户角色包含以下功能:用户首页,用户登录,查看车辆,查看我的预定,预定租车,查看

慕课网Java入门第二季6.1 达达租车系统,使用到继承、重写、多态、toString函数

为了方便理解,画了个UML图,可以参考一下为了方便理解,画了个UML图,可以参考一下 定义Car类型:载人+载货 public class Car { int id; String name; int seat; double load; double price; public Car(int id,String name,int seat,double load,double price){ this.id = id; this.name = name; this.seat = seat;

深入.NET平台和C#编程.租车系统

-------------------------------------------------Vehicle类------------------------------------------------- 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace Qic

java学习之租车系统

?背景:有三种类型的车供给用户来租用? ?要求:控制台用户交互界面,根据用户需求输出租车价格,结果如下: 创建租车类主要设计过程: 创建租车类 创建Car父类,包含四种属性成员,重写构造方法 创建三种车型对应的子类继承于Car父类 创建Car型数组存储子类实例化对象 创建输出欢迎界面的方法 创建输出租车详细信息的方法 创建计算租车租金的方法 main方法为入口 原文地址:https://www.cnblogs.com/xinglichao/p/8886119.html

初学者:简单的租车程序(敲了一晚)(想大神看看,为啥我一个简单的程序要敲这么多,可以怎么改进?)

/** * 创建一个接口实现租凭方法 * */package com.lxl.car; public interface Rent { void rent(int day,int num);} /** * 定义一个抽象的汽车类 属性:颜色,型号 ,租车的价格 * */package com.lxl.car; public abstract class Car implements Rent{ //构造方法 public Car(){} private String size;// 型号 priv

java.swing答答租车

day1: 完成的事: 1.完成主函数(与用户的交互过程)及主要接口. TestDada: /** * Created by xkfx on 2017/3/12. */ public class TestDada { public static void main(String[] args) { DadaImpl dada = new DadaImpl(); dada.sayHello(); // Here I say yes if (dada.getAnswer() == true) { d