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:想法还没有去实现 过几天做好补上
想去做一个 用户输入自身的人数和货物量 然后自动生成最优解的算法 ,当然需要用到贪心算法 ,其实也很好实现。先休息下 ,过段时间再弄
相关文章推荐
- 黑马程序员--JAVA交通灯管理系统项目
- 我是个在校生,现在想用java作为前台代码,连接到SQL server数据库上去,项目是;图书管理系统,现在没有好的java源代码,各位大侠能不能帮个忙?
- JavaOOP项目 CMS内容管理系统
- 黑马程序员_Java项目_交通灯管理系统
- Java基础(十六)——项目实战——交通灯管理系统
- 项目视频讲解_[HeyJava][尚学堂][CMS文章内容管理系统]
- Java学生管理系统项目案例
- JAVA_WEB项目(结合Servlet+jsp+ckEditor编辑器+jquery easyui技术)实现新闻发布管理系统第二篇:登陆和注销功能实现
- JAVA小项目(1)——租车系统
- java web 项目 图书管理系统的设计与实现
- Java小项目迷你图书管理系统
- Java项目之学员管理系统
- 黑马程序员——java基础项目:交通灯管理系统项目实战
- JAVA_WEB项目(结合Servlet+jsp+ckEditor编辑器+jquery easyui技术)实现新闻发布管理系统第三篇:新闻发布,新闻修改,新闻删除功能的实现
- IT人必备:实用项目管理系列订餐系统实例化教学(Java版,10年IT经验总结,涉及测试
- 【Java】-小项目-小型学生管理系统
- java交通灯管理系统项目
- JAVA_WEB项目(结合Servlet+jsp+ckEditor编辑器+jquery easyui技术)实现新闻发布管理系统第四篇:前台首页,新闻分类(体育新闻,科技新闻等),新闻列表分页的实现
- 黑马程序员——java面试中常遇到的面试项目——交通灯系统管理项目
- 黑马程序员-Java项目之交通灯管理系统