根据所学知识,编写一个控制台版的“答答租车系统”
功能:
1、展示所有可租车辆
2、选择车型、租车量
3、展示租车清单,包含:总金额、总载货量及其车型、总载人量及其车型
1、数据模型分析
2、业务模型分析
3、显示和流程分析
欢迎使用答答租车系统:
||||||||输入7或0退出系统||||||||
您是否要租车:1是 0否
1
您可租用的类型及其价目表:
序号 汽车名称 租金 容量
1 奥迪迪 500RMB/Day 载人:4
2 马自达 400RMB/Day 载人:4
3 皮卡雪 450RMB/Day 载人:4 载货:2吨
4 金龙龙 800RMB/Day 载人:20
5 松花江 400RMB/Day 载货:4吨
6 依维柯 100RMB/Day 载货:20吨
请输入需要租车的数量
4
请输入第1辆车的序号
1
请输入第2辆车的序号
2
请输入第3辆车的序号
3
请输入第4辆车的序号
4
请输入租车的天数
3
您的账单:
***可载人的车有:奥迪迪 马自达 皮卡雪 金龙龙
***载货的车有: 皮卡雪 皮卡雪
***租车总价格为:6450
欢迎下次光临
代码来源自己,若有更好的方法,欢迎留下,学习。
类 | 对应 |
---|---|
AoDi | 奥迪迪 |
JinLong | 金龙龙 |
MaziDa | 马自达 |
PiKa | 皮卡雪 |
SongHua | 松花江 |
YiWei | 依维柯 |
PeopleOn | 载人 |
ThingsOn | 载物 |
Main | 主程序 |
AoDi.java
package com.exercise2;
public class AoDi extends PeopleOn {
public AoDi() {
super(500, 4, "奥迪迪");
}
}
JinLong.java
package com.exercise2;
public class AoDi extends PeopleOn {
public AoDi() {
super(500, 4, "奥迪迪");
}
}
MaziDa.java
package com.exercise2;
public class MaziDa extends PeopleOn {
public MaziDa() {
super(400, 4, "马自达");
}
}
PeopleOn.java
package com.exercise2;
public class PeopleOn {
public int rent;
public int numPeople;
public String name;
public PeopleOn(int rent, int numPeople, String name){
this.name = name;
this.rent = rent;
this.numPeople = numPeople;
}
}
PiKa.java
package com.exercise2;
public class PiKa extends PeopleOn {
public int thing = 2;
public PiKa(int things) {
super(450, 4, "皮卡雪");
this.thing = things;
}
}
Songhua.java
package com.exercise2;
public class SongHua extends ThingsOn {
public SongHua(){
super(400,4, "松花江");
}
}
ThingsOn.java
package com.exercise2;
public class ThingsOn {
int things;
int rent;
String name;
public ThingsOn(int rent, int things, String name){
this.name = name;
this.rent = rent;
this.things = things;
}
}
YiWei.java
package com.exercise2;
public class YiWei extends ThingsOn{
public YiWei(){
super(100, 20, "依维柯");
}
}
Main.java
package com.exercise2;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
while(true) {
int sumPerDay = 0;
int money = 0;
String carPerson = "";
String carThing = "";
String carPersonString = "";
String carThingString = "";
System.out.println("欢迎使用答答租车系统:");
System.out.println("||||||||输入7或0退出系统||||||||");
System.out.println("您是否要租车:1是 0否");
int flags = input.nextInt();
if(flags == 7 || flags == 0){
break;
}
else if (flags > 1 || flags < 0) {
System.out.println("输入错误,请重新输入");
}
else{
System.out.println("您可租用的类型及其价目表:");
System.out.println("序号 汽车名称 租金 容量");
System.out.println(" 1 奥迪迪 500RMB/Day 载人:4");
System.out.println(" 2 马自达 400RMB/Day 载人:4");
System.out.println(" 3 皮卡雪 450RMB/Day 载人:4 载货:2吨");
System.out.println(" 4 金龙龙 800RMB/Day 载人:20");
System.out.println(" 5 松花江 400RMB/Day 载货:4吨");
System.out.println(" 6 依维柯 100RMB/Day 载货:20吨");
System.out.println("请输入需要租车的数量");
int cars = input.nextInt();
for(int i = 0; i < cars; i++){
int people = 0;
int price = 0;
System.out.println("请输入第"+(i+1)+"辆车的序号");
int choose = input.nextInt();
switch(choose){
case 1:
PeopleOn aodi = new AoDi();
money = aodi.rent;
carPerson = aodi.name;
break;
case 2:
PeopleOn mazida = new MaziDa();
money = mazida.rent;
carPerson = mazida.name;
break;
case 3:
PeopleOn pika = new PiKa(2);
money = pika.rent;
carPerson = pika.name;
carThing = pika.name;
break;
case 4:
PeopleOn jilong = new JinLong();
money = jilong.rent;
carPerson = jilong.name;
break;
case 5:
ThingsOn songhua = new SongHua();
money = songhua.rent;
carThing = songhua.name;
break;
case 6:
ThingsOn yiwei = new YiWei();
money = yiwei.rent;
carThing = yiwei.name;
break;
}
sumPerDay += money;
carPersonString = carPersonString + carPerson + " ";
carThingString = carThingString + carThing+ " ";
}
System.out.println("请输入租车的天数");
int days = input.nextInt();
System.out.println("您的账单:");
System.out.println("***可载人的车有:" + carPersonString);
System.out.println("***载货的车有:" + carThingString);
System.out.println("***租车总价格为:"+ sumPerDay * days);
System.out.println("欢迎下次光临");
break;
}
}
}
}
欢迎使用答答租车系统:
||||||||输入7或0退出系统||||||||
您是否要租车:1是 0否
1
您可租用的类型及其价目表:
序号 汽车名称 租金 容量
1 奥迪迪 500RMB/Day 载人:4
2 马自达 400RMB/Day 载人:4
3 皮卡雪 450RMB/Day 载人:4 载货:2吨
4 金龙龙 800RMB/Day 载人:20
5 松花江 400RMB/Day 载货:4吨
6 依维柯 100RMB/Day 载货:20吨
请输入需要租车的数量
5
请输入第1辆车的序号
2
请输入第2辆车的序号
4
请输入第3辆车的序号
5
请输入第4辆车的序号
6
请输入第5辆车的序号
2
请输入租车的天数
14
您的账单:
***可载人的车有:马自达 金龙龙 金龙龙 金龙龙 马自达
***载货的车有: 松花江 依维柯 依维柯
***租车总价格为:29400
欢迎下次光临