您的位置:首页 > 编程语言 > Java开发

Java小项目---租车管理系统

2017-07-18 14:05 447 查看

这几天刚刚开始学Java,应该学了有接近3天了。刚好发现一个100行左右的小项目来锻炼一下自己。

题目:

小明的公司有一个滴滴公司,专门做租车生意。他有3种车型:

1:只能载人

2:只能载物

3:能载人能载物

小明有点懒,所以委托你 做一个软件去帮助小明管理这个公司 。

ps: 题目是自己编的(逃

一.项目要求:

!!!根据所学内容来完成以下项目

1.展示所有可租车辆

2.选择车型和租车辆

3.展示租车清单。

包括:

1:车型

2:总载货数,总载客数

3:金额

二.项目分析:

1.数据模型分析

分析模型主要功能,建立的属性和方法

1.三种车型 只能载人的Buscar类型 只能载货trunk类型 两种都能的Pickup类型

所以 我们可以建立一个 Car类型表示作为他们父类 去公用方法和属性。

2.业务模型分析

分析用户需求:1用户是否租车。2用户租车类型及数量。3提示用户需付金额

三.实现部分:

1. 创建一个父类Car

有4个属性 2个共有的name和rent 是可被继承的 剩下两个是私有的不可被继承 但可以通过函数去获取

package www.contentcl.cn;

public class Car {
public String name;   //车名
public double rent;   //租金
private double memp;  //载人数
private double mems;  //载货数
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getRent() {
return rent;
}
public void setRent(double rent) {
this.rent = rent;
}
public double getMemp() {
return memp;
}
public void setMemp(double memp) {
this.memp = memp;
}
public double getMems() {
return mems;
}
public void setMems(double mems) {
this.mems = mems;
}

}


2.在创建一个只能载人的子类Buscar

Buscar 只能载人,所以继承了父类的rent和name 并且拥有自己的属性

memp

package www.contentcl.cn;

public class Buscar extends Car {
private double memp; //载人数
public Buscar(String name, double rent, double memp){
this.name = name;
this.rent = rent;
this.memp = memp;
}
public double getMemp() {
return memp;
}
public void setMemp(double memp) {
this.memp = memp;
}

}


3.在创建一个只能载人的子类trunk

trunk 只能载人,所以继承了父类的rent和name 并且拥有自己的属性

mems

package www.contentcl.cn;

public class trunk extends Car {
private double mems; //载货数
public trunk(String name, double rent, double mems){
this.name = name;
this.rent = rent;
this.mems = mems;
}
public double getMems() {
return mems;
}
public void setMems(double mems) {
this.mems = mems;
}

}


4。在创建一个两种都能的子类Pickup

Pickup 继承了父类的rent和name 并且拥有自己的属性

mems和memp

package www.contentcl.cn;

public class Pickup extends Car {
private double memp;  //载人数
private double mems;  //载货数
public Pickup(String name, double rent, double memp,double mems){
this.name = name;
this.rent = rent;
this.memp = memp;
this.mems = mems;
}
public double getMems() {
return mems;
}
public void setMems(double mems) {
this.mems = mems;
}
public double getMemp() {
return memp;
}
public void setMemp(double memp) {
this.memp = memp;
}

}


5 最后我们来写总有主函数的主类

因为有提示语句所以就 不谢注释了

先用一个 Car 类型的数组 用多态的方式去创建对象

然后进行操作】

package www.contentcl.cn;
import java.util.Scanner;
public class Main {

public static void main(String[] args) {
// TODO Auto-generated method stub
Car car[] ={new Buscar("奔驰",500,5), new Buscar("宇通",1000,30),
new trunk("依维柯",1000,40), new trunk("松花江",300,4),
new Pickup("皮卡雪",700,4,2),new Pickup("大皮卡",1500,6,13)};

Scanner input = new Scanner(System.in);
System.out.println("\t欢迎您进入万达租车系统!!!");
System.out.println("\t租车请按1   其他请按2");

int sign = input.nextInt();
if (sign == 1){
int count=0;

System.out.println("车辆管理目录:");
for (Car ecar:car){
count++;
System.out.print("序号:"+count+"    车型: "+ecar.name+"\t租金:"+ecar.rent+"/天");
if (ecar.getMemp()!=0&&ecar.getMems()==0)
System.out.println("\t客载:"+ecar.getMemp()+'人');
else if (ecar.getMems()!=0&&ecar.getMemp()==0)
System.out.println("\t货载:"+ecar.getMems()+'吨');
else
System.out.println("\t客载:"+ecar.getMemp()+"人  "+"货载:"+ecar.getMems()+'吨');
}

double sum=0,sump=0,sums=0;
System.out.println("请输入你要预定个的车辆数:");
int num = input.nextInt();
System.out.println("请输入你要租车的编号:(用空格隔开)");
for (int i=0; i<num; i++){
//System.out.println("请输入你要租车的编号:");
int num1 = input.nextInt();
if (num1<1||num1>6){
System.out.println("车辆不存在,请重新输入:");
num1 = input.nextInt();
}
sum += car[num1-1].getRent();
sump += car[num1-1].getMemp();
sums += car[num1-1].getMems();
}

System.out.println("请输入你要租车的天数:");
int day = input.nextInt();
sum *= day;
sump *= day;
sums *= day;

if(sump!=0&&sums==0)
System.out.println("共载:"+sump+"人");
else if(sump==0&&sums!=0)
System.out.println("共载:"+sump+"货物");
else
System.out.println("共载:"+sump+"人,"+sums+"货物");
System.out.println("请支付"+sum+"元");
System.out.println("欢迎下次光临!!!!!");
}
else if (sign==2){
System.out.println("傻逼,只能租车,重新输入吧:");
sign = input.nextInt();
}
else {
System.out.println("无效命令,请重新输入:");
sign = input.nextInt();
}

}
}


程序 有2大方面没有完成

1:java实现实现c的cls 类型功能 比较麻烦 所以没有实现 所以我就没有使用while(true){} 这就意味着 如果如果不是1 就会直接结束程序 所以这方面还需要改进一下

2:想法还没有去实现 过几天做好补上

想去做一个 用户输入自身的人数和货物量 然后自动生成最优解的算法 ,当然需要用到贪心算法 ,其实也很好实现。先休息下 ,过段时间再弄
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐