哒哒租车系统(慕课网学习)
来源:互联网 发布:淘宝超市加盟 编辑:程序博客网 时间:2024/04/30 12:07
设计一个租车系统,车有载货和载人,也有既载货又载人的车,模拟租车系统,实现一点小功能!
综合运用所学知识,完善系统(异常处理,接口使用,封装继承等等~)
异常处理还是有些缺陷,对选车过程中输错序号还没有很好的处理,等掌握的知识多了再来解决。
代码如下:
package example1;public class Car {private int carNumber;private String carName;private int carMoney;public int getCarNumber() {return carNumber;}public void setCarNumber(int carNumber) {this.carNumber = carNumber;}public String getCarName() {return carName;}public void setCarName(String carName) {this.carName = carName;}public int getCarMoney() {return carMoney;}public void setCarMoney(int carMoney) {this.carMoney = carMoney;}}
package example1;public class PassengerCar extends Car {private int carCapacity;public PassengerCar(int carNumber,String carName,int carMoney,int carCapacity){this.setCarNumber(carNumber);this.setCarName(carName);this.setCarMoney(carMoney);this.carCapacity=carCapacity;}public int getCarCapacity() {return carCapacity;}public void setCarCapacity(int carCapacity) {this.carCapacity = carCapacity;}}
package example1;public class Trunk extends Car{private int carCarry; public Trunk(int carNumber,String carName,int carMoney,int carCarry){ this.setCarNumber(carNumber); this.setCarName(carName); this.setCarMoney(carMoney); this.carCarry=carCarry; }public int getCarCarry() {return carCarry;}public void setCarCarry(int carCarry) {this.carCarry = carCarry;}}
public class PickUp extends Car { private int carCapacity; //定义皮卡的载客量 private int carCarry; //定义皮卡的载货量 public PickUp(int carNumber,String carName,int carRentMoney,int carCapacity,int carCarry){ this.setCarNumber(carNumber); this.setCarName(carName); this.setCarMoney(carRentMoney); this.carCapacity=carCapacity; this.carCarry=carCarry; }public int getCarCapacity() {return carCapacity;}public void setCarCapacity(int carCapacity) {this.carCapacity = carCapacity;}public int getCarCarry() {return carCarry;}public void setCarCarry(int carCarry) {this.carCarry = carCarry;} }
package example1;import java.util.Scanner;import java.util.*;public class Test {public static void main(String[] args) {System.out.println("欢迎使用哒哒租车系统!\n");while(true){int kase=0; System.out.println("您是否需要租车? :1 是 0 否"); try{ Scanner input=new Scanner(System.in); int k=input.nextInt(); if(k==1) { kase=1; System.out.println("您可租车的类型及价目表:"); Car [] carRent={new PassengerCar(1,"奥迪",500,4),new PassengerCar(2,"马自达",400,4), new PickUp(3,"皮卡雪",450,4,2),new PassengerCar(4,"金龙",800,20),new Trunk(5,"松花江",400,4),new Trunk(6,"解放",500,5) }; System.out.println("序号"+"\t"+"汽车名称"+"\t"+"租金"+"\t"+"容量"); for (Car car : carRent) { //用instanceOf来测试左边类型的对象是否是右边类型的实例,返回值为Boolean if(car instanceof PassengerCar){ //若它是客车类型的实例,则打印出客车应该有的属性值,这里注意强转,否则不会出现 //passengerCar类的CarCapacity属性 System.out.println(car.getCarNumber()+"\t"+car.getCarName()+"\t"+car.getCarMoney() +"/天"+"\t"+"载人:"+((PassengerCar)car).getCarCapacity()+"人"); } if(car instanceof PickUp){ System.out.println(car.getCarNumber()+"\t"+car.getCarName()+"\t"+car.getCarMoney() +"/天"+"\t"+"载人:"+((PickUp)car).getCarCapacity()+"人"+"\t" +"载货:"+((PickUp)car).getCarCarry()+"吨"); } if(car instanceof Trunk){ System.out.println(car.getCarNumber()+"\t"+car.getCarName()+"\t"+car.getCarMoney() +"/天"+"\t"+"载货:"+((Trunk)car).getCarCarry()+"吨"); } } System.out.println("请输入您要租车的数量"); int n=input.nextInt(); List<Car> carList=new ArrayList<Car>(); int p=0; List<Car> carList1=new ArrayList<Car>(); List<Car> carList2=new ArrayList<Car>(); int pnum=0; int cnum=0; int mnum=0; for(int i=0;i<n;i++){ System.out.println("请输入第"+(i+1)+"辆车的序号: "); int nnum=input.nextInt(); carList.add(carRent[nnum-1]); System.out.println("成功添加:"+carList.get(p).getCarName()); if(carRent[nnum-1] instanceof PassengerCar){ pnum+=((PassengerCar)carList.get(p)).getCarCapacity(); mnum+=(carList.get(p)).getCarMoney(); carList1.add(carList.get(p)); } if(carRent[nnum-1]instanceof PickUp){ cnum+=((PickUp)carList.get(p)).getCarCarry(); pnum+=((PickUp)carList.get(p)).getCarCapacity(); mnum+=(carList.get(p)).getCarMoney(); carList2.add(carList.get(p)); carList1.add(carList.get(p)); } if(carRent[nnum-1]instanceof Trunk){ cnum+=((Trunk)carList.get(p)).getCarCarry(); mnum+=(carList.get(p)).getCarMoney(); carList2.add(carList.get(p)); } p++; } System.out.println("请输入租车的天数:"); int dnum=input.nextInt(); mnum=mnum*dnum; if(carList1.isEmpty()){ System.out.println("没有可以载客的车~"); } else{ System.out.println("********************可载客的车有********************"); for (Car car : carList1) { System.out.println(car.getCarName()); } System.out.println("载客量为"+pnum+"人"); } if(carList2.isEmpty()){ System.out.println("没有可以载客的车~"); } else{ System.out.println("********************可载货的车有********************"); for (Car car : carList2) { System.out.println(car.getCarName()); } System.out.println("载货量为"+cnum+"吨"); } System.out.println("********************租车的总价格********************"); System.out.println(mnum); } else if(k==0){ kase=1; System.out.println("感谢您的再次使用!再见!"); } else{ System.out.println("您输入的指令有误,请重新输入!"); } }catch(Exception e){ System.out.println("请输入数字!谢谢~"); } if(kase==1) break; }}}
运行结果:
0 0
- 哒哒租车系统(慕课网学习)
- 哒哒哒哒
- 哒哒狗
- 哒哒哒哒 一些有趣的东西 HihoCoder 1082 &&CUGOJ 1569
- dss湿哒哒实打实的
- 假期穿上这款超轻亲子鞋,蹦蹦哒哒合家欢丨钛空舱
- 学习wince系统(一)
- 系统缓存学习(一)
- 开发系统学习(一)
- PHP系统学习(1)
- 系统学习C++(1)
- 系统学习C++(2)
- C++系统学习(3)
- 系统学习C++(4)
- 粒子系统学习(1)
- git学习 二(系统学习)
- 系统学习深度学习(十二)--池化
- 系统学习深度学习(十六)--Overfeat
- c# 委托
- MongoDB for PHP扩展操作类
- [Raytracing]光线追踪算法
- C++写一个微博全文搜索引擎
- Android Studio真机测试
- 哒哒租车系统(慕课网学习)
- 当你遇到困难的时候,用你能想到的办法去解决,你可以自己解决
- java简单图片处理操作
- C# 空气版坦克大战
- .tar.gz和.tar.bz2解压命令
- Oracle VM VirtualBox 打开复制虚机报错
- 关于Intent传递对象以及序列化技巧
- pulltoRefresh的开源框架使用
- MySQL中的binlog相关命令和恢复技巧