达达租车系统(Java实现)




java编写一个控制台版的“达达租车系统”。

目标

java编写一个控制台版的“达达租车系统”

功能

1.展示所有可租车辆
2.选择车型、租车量
3.展示租车清单,包含:总金额、总载货量及其车型、总载人量及其车型

三大分析

数据模型分析

数据模型分析

业务模型分析

业务模型分析

显示和流程分析

显示和流程分析

成品

租车页面

租车账单

思路

  首先定义一个Car类,它包含基本功能:车名、载客数、载货量、日租金。接着创建三个小类,分别是客车类、货车类和皮卡类(既能载客又能载货),它们都继承Car类。最后需要一个主类,用于开启整个系统,调用每个小类。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package com.jinger;

public abstract class Car {
public int rent;//日租金
public int people;//载客人数
public int loads;//载货量
public String name;//车名


public int getRent(){
return rent;
}
public void setRent(int rent){
this.rent=rent;
}
public int getPeople(){
return people;
}
public void setPeople(int people){
this.people=people;
}
public int getLoads(){
return loads;
}
public void setLoads(int loads){
this.loads=loads;
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
}

客车类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package com.jinger;

public class PassageCar extends Car{
public PassageCar(String name,int people,int rent){
this.setName(name);
this.setPeople(people);
this.setRent(rent);


}

public String toString(){
return this.getName()+"\t"+this.getPeople()+"\t\t\t\t"+this.getRent();
}
}

卡车类

1
2
3
4
5
6
7
8
9
10
11
12
13
package com.jinger;

public class Truck extends Car {
public Truck(String name,int loads,int rent){
this.setName(name);
this.setLoads(loads);
this.setRent(rent);
}

public String toString(){
return this.getName()+"\t\t\t"+this.getLoads()+"\t\t"+this.getRent();
}
}

皮卡类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package com.jinger;

public class Pickup extends Car {
public Pickup(String name,int people,int loads,int rent){
this.setName(name);
this.setPeople(people);
this.setLoads(loads);
this.setRent(rent);
}

public String toString(){
return this.getName()+"\t"+this.getPeople()+"\t\t"+this.getLoads()+"\t\t"+this.getRent();
}
}

主类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
package com.jinger;
import java.util.*;

public class Initial {

public static void main(String[] args) {
//对各类车实例化并保存到cars数组
Car[] cars={
new PassageCar("奥迪A4",4,500),
new PassageCar("马自达6",4,400),
new Pickup("皮卡雪6",4,2,450),
new PassageCar("金龙",20,800),
new Truck("松花江",4,400),
new Truck("依维柯",20,1000)};

System.out.println("****欢迎使用达达租车系统!****");
System.out.println("****您确认租车吗?****"+"\n"+"是(请输入1) \t 否(请输入2)");

Scanner in1=new Scanner(System.in);
int is=in1.nextInt();
if(is!=1){
System.out.println("****欢迎下次光临!****");
System.exit(0);
}
if(is==1){
System.out.println("****您可租车的类型及价目表****");
System.out.println("序号"+"\t车名"+"\t载客数(人)"+"\t载货量(吨)"+"\t日租金(元/天)");

//使用循环方式将各类车输出
for(int i=0;i<cars.length;i++){
System.out.println((i+1)+"\t"+cars[i]);
}



System.out.println("****请输入您的租车数量:****");
int num1=in1.nextInt();
Car[] rentcar=new Car[num1];
int price=0;//总价格
int totalpeople=0;//总人数
int totalloads=0;//总载货量

for(int i=0;i<num1;i++){
System.out.println("****请输入第"+(i+1)+"辆车的序号:****");
int numx=in1.nextInt();
rentcar[i]=cars[numx-1];

}
System.out.println("****请输入天数:****");
int day=in1.nextInt();
for(int i=0;i<num1;i++){
price=price+rentcar[i].rent *day;
}
System.out.println("****您的账单:****");
System.out.println("已选载人车:");
for(int i=0;i<num1;i++){
if(rentcar[i].people!=0){
System.out.println(rentcar[i].name+"\t");
}

totalpeople=totalpeople+rentcar[i].people;
}

System.out.println('\n');
System.out.println("已选载货车:");
for(int i=0;i<num1;i++){
if(rentcar[i].loads!=0){
System.out.println(rentcar[i].name+"\t");
}

totalloads=totalloads+rentcar[i].loads;
}


System.out.println('\n');
System.out.println("共载客:"+totalpeople+"人");
System.out.println("共载货:"+totalloads+"吨");
System.out.println("租车总价格:"+price+"元");
System.out.println('\n');
System.out.println("****感谢您的惠顾,欢迎再次光临!****");

}
}
}

收获

思路决定编码。
编程要注重自顶而下、逐步求精的设计方法。

源程序下载

https://github.com/hubojing/Car-rental-system


本文已被阅读 次。感谢您的点击!

文章目录
  1. 1. 目标
  2. 2. 功能
  3. 3. 三大分析
    1. 3.1. 数据模型分析
    2. 3.2. 业务模型分析
    3. 3.3. 显示和流程分析
    4. 3.4. 成品
  4. 4. 思路
  5. 5. 代码
  6. 6. 收获
  7. 7. 源程序下载
|