Java小项目---租车管理系统
来源:互联网 发布:淘宝买到盗版书怎么办 编辑:程序博客网 时间:2024/04/30 12:01
这几天刚刚开始学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:想法还没有去实现 过几天做好补上
想去做一个 用户输入自身的人数和货物量 然后自动生成最优解的算法 ,当然需要用到贪心算法 ,其实也很好实现。先休息下 ,过段时间再弄
阅读全文
1 0
- Java小项目---租车管理系统
- 【Java】-小项目-小型学生管理系统
- JAVA小项目--银行管理系统
- 初学java-小项目租车系统
- java小项目,租车系统
- 总结:JAVA小项目——图书管理系统
- 小项目----DVD管理系统
- JAVA小项目(1)——租车系统
- C++小项目-本校科协管理系统
- Qt小项目-汽车销售管理系统
- 【小项目】OA系统-员工管理
- django项目 小示例 图书管理系统
- 【Python小项目】-名片管理系统
- java小项目影院系统
- 关于Java小项目——图书管理系统的总结
- JAVA WEB从入门到精通 day20 分页技术&小项目:客户管理系统
- 小项目:基于Struts框架的员工管理系统的java实现
- 通过JAVA编写一个简单的雇员管理系统小项目
- android自定义时钟控件
- 初次运行 Git 前的配置
- 欢迎使用CSDN-markdown编辑器
- 用node-webkit把web应用打包成桌面应用
- Educational Codeforces Round 25 A. Binary Protocol
- Java小项目---租车管理系统
- win7下 MongoDB数据库搭建
- MySQL行级锁
- mysql查看和修改数据库表字段编码格式及添加删除外键操作
- MUI 使用ES6语法时在手机上运行报错简单处理方法
- 写个责任链模式(混用观察者)
- NGUI中UIPopupList的创建与使用
- java获得项目绝对路径
- 感谢爱测未来,零基础的我的实习期是这么过来的