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滴滴打车系统实现(同时实现租车购物车)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [贪心算法]Leetcode738. 单
- 下一篇: 苹果手机系统更新信号无服务器,苹果手机服