嘀嘀打车java_Java滴滴打车系统实现(同时实现租车购物车)
实现过程如下:
构造抽象Auto类:是所有载客类型车的父类,如PassengerAuto类继承了该类
构造抽象类LoadWeight类:是所有既载客又载货车型的父类,如Truck类继承了该类
构造储存添加车型的CarList类:储存系统管理员添加车型的类
构造用户租车购物车Cart类:储存用户租用了哪种车型及费用明细列表
客户端类index类:调用以上各类实现租车系统
Auto.java:
package com.immoc.lib;
//仅能载客的车
public abstract class Auto {
private int id;//定义车的编号
private String carName;//定义车名
private int price;//定义车价
private int passengers;//定义载客量
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getCarName() {
return carName;
}
public void setCarName(String carName) {
this.carName = carName;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public int getPassengers() {
return passengers;
}
public void setPassengers(int passengers) {
this.passengers = passengers;
}
public Auto(int id,String carName, int price,int passengers) {
super();
this.setId(id);
this.setCarName(carName);
this.setPassengers(passengers);
this.setPrice(price);
}
public String getMsg(){
return this.getId()+"\t"+this.getCarName()+"\t"+this.getPrice()+"\t"+this.getPassengers()+"\t"+"0";
}
public void print(){
System.out.println(getMsg());
}
}
LoadWeight.java:
package com.immoc.lib;
import com.immoc.lib.Auto;
//即能载客又能载货的车
public abstract class LoadWeight extends Auto {
private int weight;//定义载货量
public LoadWeight(int id,String carName, int price ,int passengers,int weight){
super(id, carName, price, passengers);
this.weight = weight;
}
public int getWeight() {
return weight;
}
public void setWeight(int weight) {
this.setWeight(weight);
}
public String getMsg(){
return this.getId()+"\t"+this.getCarName()+"\t"+this.getPrice()+"\t"+this.getPassengers()+"\t"+this.getWeight();
}
public void print(){
System.out.println(getMsg());
}
}
PassengerAuto.java
package com.immoc;
import com.immoc.lib.Auto;
//创建只能载客的子类车--继承于只能载客的类(Auto)
public class PassengerAuto extends Auto {
public PassengerAuto(int id, String carName, int price ,int passengers){
super(id, carName,price,passengers);
}
}
Truck.java
package com.immoc;
import com.immoc.lib.LoadWeight;
//创建能载客又能载货的类(Truck),继承于LoadWeight类
public class Truck extends LoadWeight {
public Truck(int id ,String carName, int price ,int passengers,int weight){
super(id, carName, price, passengers, weight);
}
}
CarList.java:
package com.immoc.lib;
import java.util.ArrayList;
//储存系统中存在的车型--系统管理员使用
public class CarList {
public static ArrayList carlist = new ArrayList() ;//储存现有的汽车列表
/**
* 向汽车列表中添加不同类型的汽车
* @param car 汽车对象
*/
public static boolean addCar(Auto car){
return carlist.add(car);
}
//显示系统中存在的车型信息
public static void showCars(){
System.out.println("型号\t"+"名称\t"+"价格\t"+"载客量\t"+"载货量\t");
for(int i=0;i
Auto auto = carlist.get(i);
auto.print();
}
}
/**
* 删除某种车型信息
* @param id 车型编号
* @return
*/
public static boolean removeCar(int id){
Auto car =null;
boolean isRemove = false;
for(int i=0; i
car = carlist.get(i);
if(car.getId()==id)
{
isRemove = (carlist.remove(i)!=null)?true:false;
break;
}
}
return isRemove;
}
/**
* 找到某一种车型的车
* @param id
* @return
*/
public static Auto getCar(int id){
Auto car =null;
boolean isGet = false;
for(int i=0; i
car = carlist.get(i);
if(car.getId()==id)
{
car = carlist.get(i);
isGet = true;
break;
}
}
car = isGet?car:null;
return car;
}
}
Cart.java
package com.immoc.lib;
import java.util.ArrayList;
//租车购物车列表:用来储存租车信息--用户使用
public class Cart {
public static ArrayList cartlist = new ArrayList();//储存租车信息
public static int total=0;//储存租车总费用
//计算租车费用总数
public static int getTotal(){
for(CarNode car:cartlist){
int id = car.getId();
int sum = car.getSum();
Auto auto = CarList.getCar(id);
if(auto!=null){
total+=auto.getPrice()*sum;
}
}
return total;
}
//显示购物车中的信息
public static void showOrders(){
System.out.println("======================================================");
System.out.println("型号\t"+"名称\t"+"价格\t"+"载客量\t"+"载货量\t"+"租车数目\t"+"总价");
String list ="";
int totalsum=0;
for(CarNode car:cartlist){
int id = car.getId();
int sum = car.getSum();
Auto auto = CarList.getCar(id);
list+= auto.getMsg()+"\t"+sum+"\t"+auto.getPrice()*sum+"\t\n";
totalsum+=auto.getPrice()*sum;
}
System.out.print(list);
System.out.println("======================================================");
System.out.println("租车总费用:"+totalsum);
System.out.println("======================================================");
}
//租用的车型和数目
public static boolean addCar(int id, int sum){
int index = Cart.getCar(id);
if(index==-1){
//如果购物车中不存在则创建对象
CarNode car = new CarNode(id,sum);
return cartlist.add(car);
}else{
//如果存在则修改数量
CarNode car = cartlist.get(index);
car.setSum(car.getSum()+sum);
cartlist.set(index, car);
}
return true;
}
//删除一种车型
public static boolean removeCar(int id){
CarNode car =null;
boolean isRemove = false;
for(int i=0; i
car = cartlist.get(i);
if(car.getId()==id)
{
isRemove = (cartlist.remove(i)!=null)?true:false;
break;
}
}
return isRemove;
}
//找到一种车型
public static int getCar(int id){
CarNode car =null;
for(int i=0; i
car = cartlist.get(i);
if(car.getId()==id)
return i;
}
return -1;
}
}
//储存租车信息
class CarNode{
private int id;//车型编号
private int sum;//租车的数目
public CarNode(int id, int sum){
this.setId(id);
this.setSum(sum);
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getSum() {
return sum;
}
public void setSum(int sum) {
this.sum = sum;
}
}
index.java
package com.immoc;
import com.immoc.lib.Auto;
import com.immoc.lib.CarList;
import com.immoc.lib.Cart;
//主方法
public class Index {
public static void show(Object obj){
System.out.println(obj.toString());
}
public static void main(String[] args){
Auto car01 = new PassengerAuto(100,"奥迪A4",500,4);
Auto car02 = new PassengerAuto(110,"马自达6 ",400,4);
Auto car03 = new Truck(120,"松花江",300,2,4);
Auto car04 = new Truck(130,"依维柯",200,2,20);
Auto car05 = new PassengerAuto(140,"东风日产 ",100,4);
Auto car06 = new PassengerAuto(150,"宝马 ",1000,4);
//管理员添加车型
CarList.addCar(car01);
CarList.addCar(car02);
CarList.addCar(car03);
CarList.addCar(car04);
CarList.addCar(car05);
CarList.addCar(car06);
//CarList.removeCar(4);
show("显示系统中所有的车型信息:");
CarList.showCars();
//用户添加租车的车型和租车数目
Cart.addCar(100,2);
Cart.addCar(110,2);
Cart.addCar(120,2);
Cart.addCar(130,2);
Cart.addCar(150,1);
Cart.removeCar(150);//移除车型
//租车系统结账并显示租车具体信息
show("您的租用信息如下:");
Cart.showOrders();
}
}
运行结果:
嘀嘀打车java_Java滴滴打车系统实现(同时实现租车购物车)相关推荐
- 滴滴打车java_Java滴滴打车系统实现(同时实现租车购物车)
实现过程如下: 构造抽象Auto类:是所有载客类型车的父类,如PassengerAuto类继承了该类 构造抽象类LoadWeight类:是所有既载客又载货车型的父类,如Truck类继承了该类 构造储存 ...
- Java编写滴滴租车_Java滴滴打车系统实现(同时实现租车购物车)
实现过程如下: 构造抽象Auto类:是所有载客类型车的父类,如PassengerAuto类继承了该类 构造抽象类LoadWeight类:是所有既载客又载货车型的父类,如Truck类继承了该类 构造储存 ...
- 二嗨租车系统java_java第二季。哒哒租车系统(参考的很多前辈们的代码!)
//主程序 package project1; import java.util.Scanner; public class DaDaZuChe { public static void main(S ...
- 二嗨租车系统java_Java第二季-嗒嗒租车系统
import java.util.Scanner; public class Test { public static void main(String[] args){ Car[] cars = { ...
- 嘀嘀打车发新版 宣称实现异地约车和滑动叫车
[img]http://img1.gtimg.com/tech/pics/hv1/50/137/1359/88403960.png[/img] [align=center][b]滑动叫车(腾讯科技配图 ...
- java简易租车系统界面_租车系统的Java简单实现
一开始觉得很简单,听老师讲很有思路.想好了然后开始写,就出现问题了,还是太年轻.看了慕友的代码,然后在自己写,收获还是有的,比如让我重新认识了 instanceof car.java package ...
- java租车系统_Java 哒哒租车系统(控制台)
哒哒租车系统 Cars类为父类 重写Cars类toString方法 三种车型3个子类继承父类 Cars.java package com.xk; public class Cars { public ...
- java租车系统_Java实现租车系统的详细过程
这篇文章主要给大家介绍了利用Java实现一个达达租车系统的步骤,文中给出了详细的实现思路和示例代码,并在文末给出了完整的源码供大家学习下载,需要的朋友可以参考借鉴,下面来一起看看吧. 本文介绍的是利用 ...
- 嘀嘀打车起家的辛苦历程
转载: 最近花了不少时间"研究"打车软件,看了不少文章,自己也不断去体验,大多数文章讨论的无外乎巨额投入到底有多少? 未来商业模式到底可行不可行?巨头为什么要血拼? 有的观点靠谱, ...
最新文章
- java foreach 循环原理
- ORA-22835 缓冲区对于 CLOB 到 CHAR 转换或 BLOB 到 RAW 转换而言太小
- 华为新系统鸿蒙升级平板名单,华为鸿蒙系统升级名单正式确认!全面替换安卓:流畅度比肩iOS...
- (转载)IP,主机名,域名
- 在Ubuntu中安装及配置java
- FreeMarker 快速入门
- 玩转html5(五)---月球绕着地球转,地球绕着太阳转(canvas实现,同样可以动哦)...
- 复合索引在什么情况下使用
- 1.2 函数间隔和几何间隔理解2
- 如何创建SQL Server日志传送
- 如何使用Tuxera NTFS for Mac禁用特定NTFS分区
- AJAX最大的特点以及作用是什么?经典面试题
- ubuntu + usb转RS232驱动
- matlab卷积代码,卷积的Matlab代码实现
- 浅谈制药企业安全供电系统的设计与应用
- 作业 - 加密解密和CA
- Android流式布局FlowLayout,一款针对Tag的布局
- 全国4000 AI企业北京独霸三成 | 《北京人工智能产业发展白皮书》发布(附下载)...
- android添加内存卡,SD卡变RAM 增加虚拟内存方法
- buildroot设置开机自动运行程序和自动登录
热门文章
- 全局配置app.json的认识
- 大学计算机绘图课程要带电脑吗,中央广播电视大学开放教育本科机械设计制造及其自动化专业《计算机绘图( 本) 》课程考核说明...
- Ansible Tower 部署
- sup(上确界)和inf(下确界)的理解
- 小学生打扫计算机教室的简报,小学生二年级看图写话-打扫教室
- python挂科了要重修吗_大学课挂科有什么影响需要重修吗
- Kiss the Rain -- 地表雨水动态效果 (Dynamic rain and its effects)
- 电脑清理怎么做?5个方法帮你解决电脑空间不足的问题!
- IP组播技术在视频中的应用(1)
- Java截取字符串中某一段的字符串