JAVA共享单车管理系统

发布时间:2024年01月18日

1功能介绍:

?

1项目要求

使用Java语言,实现共享单车的投放,借出,查看,删除,回收,以及借出次数排行榜

?

2各类层调用关系

启动类调用打印类,打印类调用业务层类,业务层类调用数据库类,数据库类调用实体类

?

?

2编写程序执行入口,启动类

程序的主方法所在


/**
?* 启动类
?* @author li
?*
?*/

public class App {

?? ?public static void main(String[] args) {
?? ??? ?new pageUi().indexPageUi(); //创建匿名对象
?? ??? ?System.out.println("=====你退出了迷你共享单车管理系统=====");

?? ?}

}

?

3首页页面打印类

?

实现程序主页面循环打印,以及具体方法的调用

?

import java.util.Scanner;

/**
?* 页面打印类
?* @author li
?*
?*/


public class PageUi {
?? ?/**
?? ? * 首页
?? ? */
?? ?public void indexPageUi(){
?? ??? ?int key;
?? ??? ?String yn=null;
?? ??? ?Scanner scanner =new Scanner(System.in);
?? ??? ?
?? ??? ?do {
?? ??? ??? ?System.out.println("-------------迷你共享单车管理系统---------------");
?? ??? ??? ?System.out.println("1.投放单车页面");
?? ??? ??? ?System.out.println("2.查看单车页面");
?? ??? ??? ?System.out.println("3.删除单车页面");
?? ??? ??? ?System.out.println("4.借出单车页面");
?? ??? ??? ?System.out.println("5.归还单车页面");
?? ??? ??? ?System.out.println("6.排行榜页面");
?? ??? ??? ?System.out.println("----------------------------------------");
?? ??? ??? ?
?? ??? ??? ?
?? ??? ??? ?
?? ??? ??? ?System.out.println ("请输入需要操作项序号: ");
?? ??? ??? ?key=scanner.nextInt();
?? ??? ??? ?
?? ??? ??? ?switch(key) {
?? ??? ??? ?case 1 :
?? ??? ??? ??? ?addBikePage();//投放
?? ??? ??? ??? ?break;
?? ??? ??? ?case 2:
?? ??? ??? ??? ?checkBikePage();//查看,输出单车信息
?? ??? ??? ??? ?break;
?? ??? ??? ?case 3:
?? ??? ??? ??? ?deletaBikePage();//删除
?? ??? ??? ??? ?break;
?? ??? ??? ?case 4:
?? ??? ??? ??? ?boorrowBikePage();//借出
?? ??? ??? ??? ?break;
?? ??? ??? ?case 5:
?? ??? ??? ??? ?returnBikePage();//归还
?? ??? ??? ??? ?break;
?? ??? ??? ?case 6:
?? ??? ??? ??? ?rankingList();//排行榜
?? ??? ??? ? ? ?break;
?? ??? ??? ??? ?
?? ??? ??? ?default :
?? ??? ??? ??? ?System.out.println("输入菜单错误");
?? ??? ??? ?}
?? ??? ??? ?System.out.println("是否继续 y/n");
?? ??? ??? ?
?? ??? ??? ?yn=scanner.next();
?? ??? ??? ?
?? ??? ??? ?
?? ??? ?}while(yn.equalsIgnoreCase("y"));
?? ??? ?
?? ?}
?? ?/**
?? ? * 1.投放单车页面
?? ? */
?? ?public void addBikePage(){
?? ??? ?System.out.println("++投放单车++");
?? ??? ?//公司列表
?? ??? ?ShareBikeCompany[] companys=DataBase.companys;
?? ??? ?for(ShareBikeCompany company:companys) {
?? ??? ??? ?System.out.println(company.getId()+""+company.getName());
?? ??? ?}
?? ??? ?
?? ??? ?//选择公司id
?? ??? ?Scanner scanner =new Scanner(System.in);
?? ??? ?System.out.println("请选择公司id:");
?? ??? ?int cpid=scanner.nextInt();
?? ??? ?
?? ??? ?//输入要投放单车数量
?? ??? ?System.out.println("请输入要投放单车数量:");
?? ??? ?int count=scanner.nextInt();
?? ??? ?
?? ??? ?//完成投放
?? ??? ?new DateOpration().addBikeOpration(cpid, count);
?? ??? ?
?? ?}
?? ?
?? ?
?? ?/**
?? ? * 2.查看单车页面
?? ? */
?? ?public void checkBikePage() {
?? ??? ?System.out.println("++查看单车++");
?? ??? ?new DateOpration().checkBikeOpration();
?? ??? ?
?? ?}
?? ?/**
?? ? * 3.删除单车页面
?? ? */
?? ?public void deletaBikePage() {
?? ??? ?System.out.println("++删除单车++");
?? ??? ?//输入公司id,以及单车id
?? ??? ?ShareBikeCompany[] companys=DataBase.companys;
?? ??? ?//遍历公司列表
?? ??? ?for(ShareBikeCompany company: companys) {
?? ??? ??? ?System.out.println(company.getId()+""+company.getName());
?? ??? ?}
?? ??? ?
?? ??? ?Scanner scanner =new Scanner(System.in);
?? ??? ?System.out.println("请输入公司id");
?? ??? ?int cpid =scanner.nextInt();
?? ??? ?System.out.println("请输入单车id");
?? ??? ?int bikeId=scanner.nextInt();
?? ??? ?
?? ??? ?//删除单车业务
?? ??? ?new DateOpration().deletaBikeOpration(cpid,bikeId);
?? ??? ?
?? ?}
?? ?/**
?? ? * 4.借出单车页面
?? ? */
?? ?public void boorrowBikePage() {
?? ??? ?System.out.println("++借出单车++");
?? ??? ?
?? ??? ?//输入公司id,以及单车id
?? ??? ??? ??? ?ShareBikeCompany[] companys=DataBase.companys;
?? ??? ??? ??? ?//遍历公司列表
?? ??? ??? ??? ?for(ShareBikeCompany company: companys) {
?? ??? ??? ??? ??? ?System.out.println(company.getId()+""+company.getName());
?? ??? ??? ??? ?}
?? ??? ??? ??? ?
?? ??? ??? ??? ?Scanner scanner =new Scanner(System.in);
?? ??? ??? ??? ?System.out.println("请输入公司id");
?? ??? ??? ??? ?int cpid =scanner.nextInt();
?? ??? ??? ??? ?System.out.println("请输入单车id");
?? ??? ??? ??? ?int bikeId=scanner.nextInt();
?? ??? ??? ??? ?
?? ??? ??? ??? ?//借出单车业务
?? ??? ??? ??? ?new DateOpration().boorrowBikeOpration(cpid,bikeId);
?? ??? ?
?? ??? ?
?? ??? ?
? ? ?
?? ??? ?
?? ?}
?? ?
?? ?
?? ?/**
?? ? * 5.归还单车页面
?? ? *?
?? ? */
?? ?
?? ?
?? ?public void returnBikePage() {
?? ??? ?System.out.println("++归还单车++");
?? ??? ?
?? ??? ?
?? ??? ?//输入公司id,以及单车id
?? ??? ?ShareBikeCompany[] companys=DataBase.companys;
?? ??? ?//遍历公司列表
?? ??? ?for(ShareBikeCompany company: companys) {
?? ??? ??? ?System.out.println(company.getId()+""+company.getName());
?? ??? ?}
?? ??? ?
?? ??? ?Scanner scanner =new Scanner(System.in);
?? ??? ?System.out.println("请输入公司id");
?? ??? ?int cpid =scanner.nextInt();
?? ??? ?System.out.println("请输入单车id");
?? ??? ?int bikeId=scanner.nextInt();
?? ??? ?
?? ??? ?//归还单车业务
?? ??? ?new DateOpration().returnBikeOpration(cpid,bikeId);
?? ??? ?
?? ??? ?

?? ??? ?
?? ?}
?? ?/**
?? ? * 6.排行榜页面
?? ? */
?? ?public void rankingList() {
?? ??? ?System.out.println("++排行榜++");
?? ??? ?new DateOpration().rankingOpration();
?? ??? ?
? ? }

}

?

4共享单车实体类

?

?

import java.util.Date;

/**
?* 共享单车实体类
?* @author LI
?*
?*/

public class ShareBike {
?? ?/**
?? ? * 单车编号
?? ? */
?? ?private int id;
?? ?/**
?? ? * 单车名称
?? ? */
?? ?public String name;
?? ?/**
?? ? * 是否借出,ture表示借出.....
?? ? */
?? ?public boolean status;
?? ?/**
?? ? * 借出时间
?? ? */
?? ?public Date boorowTime;
?? ?
?? ? public ShareBike() {
?? ??? ?
?? ?}
?? ??
?? ? public ShareBike(int id,String name,boolean status,Date boorowTime) {
?? ??? ? this.boorowTime=this.boorowTime;
?? ??? ? this.id=id;
?? ??? ? this.name=name;
?? ??? ? this.status=status;
?? ? }

?? ?public int getId() {
?? ??? ?return id;
?? ?}

?? ?public void setId(int id) {
?? ??? ?this.id = id;
?? ?}

?? ?public String getName() {
?? ??? ?return name;
?? ?}

?? ?public void setName(String name) {
?? ??? ?this.name = name;
?? ?}

?? ?public boolean isStatus() {
?? ??? ?return status;
?? ?}

?? ?public void setStatus(boolean status) {
?? ??? ?this.status = status;
?? ?}

?? ?public Date getBoorowTime() {
?? ??? ?return boorowTime;
?? ?}

?? ?public void setBoorowTime(Date boorowTime) {
?? ??? ?this.boorowTime = boorowTime;
?? ?}
?? ?
?? ?

}

?

5公司实体类

/**
?* 公司信息实体类
?* @author LI
?*
?*/

public class ShareBikeCompany {
?? ?/**
?? ? * 公司编号
?? ? */
?? ?private int id;
?? ?/**
?? ? * 公司名称
?? ? */
?? ?private String name;
?? ?/**
?? ? * 拥有单车数量
?? ? */
?? ?private int sum;
?? ?/**
?? ? * 单车借出次数
?? ? */
?? ?private int count;
?? ?/**
?? ? * 拥有单车列表
?? ? */
?? ?private ShareBike[] sharebike;
?? ?
?? ?public ShareBikeCompany() {
?? ??? ?
?? ?}
?? ?
?? ?public ShareBikeCompany(int id,String name,int sum,int count,ShareBike[] sharebike) {
?? ??? ?this.count=count;
?? ??? ?this.id=id;
?? ??? ?this.name=name;
?? ??? ?this.sum=sum;
?? ??? ?this.sharebike=sharebike;
?? ?}

?? ?public int getId() {
?? ??? ?return id;
?? ?}

?? ?public void setId(int id) {
?? ??? ?this.id = id;
?? ?}

?? ?public String getName() {
?? ??? ?return name;
?? ?}

?? ?public void setName(String name) {
?? ??? ?this.name = name;
?? ?}

?? ?public int getSum() {
?? ??? ?return sum;
?? ?}

?? ?public void setSum(int sum) {
?? ??? ?this.sum = sum;
?? ?}

?? ?public int getCount() {
?? ??? ?return count;
?? ?}

?? ?public void setCount(int count) {
?? ??? ?this.count = count;
?? ?}

?? ?public ShareBike[] getSharebike() {
?? ??? ?return sharebike;
?? ?}

?? ?public void setSharebike(ShareBike[] sharebike) {
?? ??? ?this.sharebike = sharebike;
?? ?}
?? ?

}
?

6数据库类


/**
?* 数据库类
?* @author LI
?*
?*/

public class DataBase {
?? ?/**
?? ? * 公司列表
?? ? */
?? ?public static ShareBikeCompany[] companys;
?? ?/**
?? ? * 公司列表初始化
?? ? */
?? ?static {
?? ??? ?companys=new ShareBikeCompany[3];
?? ??? ?//初始化公司信息
?? ??? ?companys[0]=new ShareBikeCompany(1,"美团公司",2,3,null);
?? ??? ?companys[1]=new ShareBikeCompany(2,"支付宝公司",2,2,null);
?? ??? ?companys[2]=new ShareBikeCompany(3,"滴滴公司",2,8,null);
?? ??? ?
?? ??? ?//初始化每个公司单车列表
?? ??? ?ShareBike[] bikes1=new ShareBike[2];
?? ??? ?bikes1[0]=new ShareBike(1001,"美团单车",false,null);
?? ??? ?bikes1[1]=new ShareBike(1002,"美团单车",false,null);
?? ??? ?companys[0].setSharebike(bikes1);
?? ??? ?
?? ??? ?ShareBike[] bikes2=new ShareBike[2];
?? ??? ?bikes2[0]=new ShareBike(1001,"哈罗单车",false,null);
?? ??? ?bikes2[1]=new ShareBike(1002,"哈罗单车",false,null);
?? ??? ?companys[1].setSharebike(bikes2);
?? ??? ?
?? ??? ?ShareBike[] bikes3=new ShareBike[2];
?? ??? ?bikes3[0]=new ShareBike(1001,"青桔单车",false,null);
?? ??? ?bikes3[1]=new ShareBike(1002,"青桔单车",false,null);
?? ??? ?companys[2].setSharebike(bikes3);
?? ??? ?
?? ?}
?? ?
?? ?

}


7业务层接口

/**
?* 业务层接口
?* @author LI
?*
?*/

public interface IDataOpration {
?? ?
?? ?/**
?? ? * 1.投放单车
?? ? */
?? ?public void addBikeOpration(int cpid,int count);
?? ?/**
?? ? * 2.查看单车
?? ? */
?? ?public void checkBikeOpration() ;
?? ?/**
?? ? * 3.删除单车
?? ? */
?? ?public void deletaBikeOpration(int cpid,int bikeId);
?? ?/**
?? ? * 4.借出单车
?? ? */
?? ?public void boorrowBikeOpration(int cpid,int bikeId) ;
?? ?/**
?? ? * 5.归还单车
?? ? */
?? ?public void returnBikeOpration(int cpid,int bikeId);
?? ?/**
?? ? * 排行榜
?? ? */
?? ?public void rankingOpration();

}
?

8业务层类

import java.util.Arrays;
import java.util.Comparator;
import java.util.Date;

/**
?* 主业务层,实现接口
?* @author LI
?*
?*/

public class DateOpration implements IDataOpration{

?

1.投放单车


?? ?/**
?? ? * 1.投放单车
?? ? */
?? ?public void addBikeOpration(int cpid,int count){
?? ??? ?//导入数据库
?? ??? ?ShareBikeCompany[] companys=DataBase.companys;
?? ??? ?
?? ??? ?boolean flag=false;
?? ??? ?
?? ??? ?for(ShareBikeCompany company:companys) {
?? ??? ??? ?//公司存在
?? ??? ??? ?if(company.getId()==cpid) {
?? ??? ??? ??? ?//投放count个单车
?? ??? ??? ??? ?
?? ??? ??? ??? ?flag=true;
?? ??? ??? ??? ?
?? ??? ??? ??? ?//该公司旧的单车数组,导入数据库
?? ??? ??? ??? ?ShareBike[] bikes=company.getSharebike();
?? ??? ??? ??? ?
?? ??? ??? ??? ?//新数组
?? ??? ??? ??? ?ShareBike[] bikes2=Arrays.copyOf(bikes, bikes.length+count);
?? ??? ??? ??? ?
?? ??? ??? ??? ?//新增单车
?? ??? ??? ??? ?for(int i=0;i<count;i++) {
?? ??? ??? ??? ??? ?ShareBike bike =new ShareBike();
?? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ?bike.setId(bikes2[bikes.length+i-1].getId()+1);
?? ??? ??? ??? ??? ?bike.setName(bikes2[bikes.length+i-1].getName());
?? ??? ??? ??? ??? ?bike.setStatus(false);
?? ??? ??? ??? ??? ?bike.setBoorowTime(null);
?? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ?bikes2[bikes.length+i]=bike;
?? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ?
?? ??? ??? ??? ?}
?? ??? ??? ??? ?//更新公司单车列表
?? ??? ??? ??? ?company.setSharebike(bikes2);
?? ??? ??? ??? ?//更新公司单车数量
?? ??? ??? ??? ?company.setSum(count+company.getSum());
?? ??? ??? ??? ?break;
?? ??? ??? ?}
?? ??? ?}
?? ??? ?
?? ??? ?
?? ??? ?if(!flag) {
?? ??? ??? ?System.out.println("公司不存在,添加单车失败");
?? ??? ?}
?? ??? ?
?? ??? ?
?? ?}

?

2.查看单车


?? ?/**
?? ? * 2.查看单车
?? ? */
?? ?public void checkBikeOpration() {
?? ??? ?ShareBikeCompany[] companys=DataBase.companys;
?? ??? ?//遍历数组,公司列表
?? ??? ?for(ShareBikeCompany company:companys) {
?? ??? ??? ?System.out.println("公司编号 ?公司名称 ?单车数量 ?借出次数");
?? ??? ??? ?System.out.println(company.getId()+"\t"+company.getName()+"\t"+company.getSum()+"\t"+company.getCount());
?? ??? ??? ?
?? ??? ??? ?
?? ??? ??? ?
?? ??? ??? ?
?? ??? ??? ?//单车列表
?? ??? ??? ?ShareBike[] bikes =company.getSharebike();
?? ??? ??? ?System.out.println("单车id,单车名称,是否借出,借出时间");
?? ??? ??? ?for(ShareBike bike:bikes) {
?? ??? ??? ??? ?System.out.println(bike.getId()+"\t"+bike.getName()+"\t"+bike.isStatus()+"\t"+bike.getBoorowTime());
?? ??? ??? ?}
?? ??? ?}
?? ??? ?
?? ?}

?

3.删除单车


?? ?/**
?? ? * 3.删除单车
?? ? */
?? ?public void deletaBikeOpration(int cpid,int bikeId) {
?? ??? ?//获取公司列表
?? ??? ?ShareBikeCompany[] companys =DataBase.companys;
?? ??? ?boolean flag1=false;
?? ??? ?
?? ??? ?
?? ??? ?for(ShareBikeCompany company:companys) {
?? ??? ??? ?if(company.getId()==cpid) {
?? ??? ??? ??? ?//公司存在
?? ??? ??? ??? ?flag1=true;
?? ??? ??? ??? ?//获取单车列表
?? ??? ??? ??? ?ShareBike[] bikes=company.getSharebike();
?? ??? ??? ??? ?
?? ??? ??? ??? ?
?? ??? ??? ??? ?int index=0;
?? ??? ??? ??? ?
?? ??? ??? ??? ?
?? ??? ??? ??? ?//遍历寻找目标单车
?? ??? ??? ??? ?boolean flag2=false;
?? ??? ??? ??? ?for(int i=0;i<bikes.length;i++) {
?? ??? ??? ??? ??? ?if(bikes[i].getId()==bikeId) {
?? ??? ??? ??? ??? ??? ?//单车存在
?? ??? ??? ??? ??? ??? ?index=i;
?? ??? ??? ??? ??? ??? ?flag2=true;
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?//如果借出,不能删除
?? ??? ??? ??? ??? ??? ?if(bikes[i].isStatus()) {
?? ??? ??? ??? ??? ??? ??? ?System.out.println("该单车借出,不能删除");
?? ??? ??? ??? ??? ??? ??? ?return;
?? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?//删除操作
?? ??? ??? ??? ??? ??? ?bikes[i]=null;
?? ??? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ?}
?? ??? ??? ??? ?
?? ??? ??? ??? ?
?? ??? ??? ??? ?
?? ??? ??? ??? ?if(!flag2) {
?? ??? ??? ??? ??? ?System.out.println("该单车不存在,删除失败");
?? ??? ??? ??? ?}
?? ??? ??? ??? ?
?? ??? ??? ??? ?
?? ??? ??? ??? ?
?? ??? ??? ??? ?//删除后,后面元素前移
?? ??? ??? ??? ?for(int i=index+1;i<bikes.length;i++) {
?? ??? ??? ??? ??? ?bikes[i-1]=bikes[i];
?? ??? ??? ??? ?}
?? ??? ??? ??? ?
?? ??? ??? ??? ?
?? ??? ??? ??? ?ShareBike[] bikes2=Arrays.copyOf(bikes, bikes.length-1);
?? ??? ??? ??? ?
?? ??? ??? ??? ?
?? ??? ??? ??? ?//修改公司单车列表
?? ??? ??? ??? ?company.setSharebike(bikes2);
?? ??? ??? ??? ?company.setSum(company.getSum()-1);
?? ??? ??? ??? ?System.out.println("删除成功");
?? ??? ??? ??? ?
?? ??? ??? ??? ?break;
?? ??? ??? ?}
?? ??? ?}
?? ??? ?
?? ?if(!flag1) {
?? ??? ?System.out.println("该公司不存在,删除失败");
? ? }
?? ??? ?
?? ?}

?

4.借出单车

/**
?? ? * 4.借出单车
?? ? */
?? ?public void boorrowBikeOpration(int cpid ,int bikeId) {
?? ??? ?
?? ??? ?
?? ??? ?//获取公司列表
?? ??? ??? ??? ?ShareBikeCompany[] companys =DataBase.companys;
?? ??? ??? ??? ?boolean flag1=false;
?? ??? ??? ??? ?
?? ??? ??? ??? ?
?? ??? ??? ??? ?for(ShareBikeCompany company:companys) {
?? ??? ??? ??? ??? ?if(company.getId()==cpid) {
?? ??? ??? ??? ??? ??? ?//公司存在
?? ??? ??? ??? ??? ??? ?flag1=true;
?? ??? ??? ??? ??? ??? ?//获取单车列表
?? ??? ??? ??? ??? ??? ?ShareBike[] bikes=company.getSharebike();
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?int index=0;
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?//遍历寻找目标单车
?? ??? ??? ??? ??? ??? ?boolean flag2=false;
?? ??? ??? ??? ??? ??? ?for(int i=0;i<bikes.length;i++) {
?? ??? ??? ??? ??? ??? ??? ?if(bikes[i].getId()==bikeId) {
?? ??? ??? ??? ??? ??? ??? ??? ?//单车存在
?? ??? ??? ??? ??? ??? ??? ??? ?index=i;
?? ??? ??? ??? ??? ??? ??? ??? ?flag2=true;
?? ??? ??? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ??? ??? ?//如果借出,不能删除
?? ??? ??? ??? ??? ??? ??? ??? ?if(bikes[i].isStatus()) {
?? ??? ??? ??? ??? ??? ??? ??? ??? ?System.out.println("该单车借出,不能再次借出");
?? ??? ??? ??? ??? ??? ??? ??? ??? ?return;
?? ??? ??? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ??? ??? ?//借出操作
?? ??? ??? ??? ??? ??? ??? ??? ?bikes[i].setStatus(true);
?? ??? ??? ??? ??? ??? ??? ??? ?bikes[i].setBoorowTime(new Date());
?? ??? ??? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ??? ??? ?company.setCount(company.getCount()+1);
?? ??? ??? ??? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?if(!flag2) {
?? ??? ??? ??? ??? ??? ??? ?System.out.println("该单车不存在,借出失败");
?? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?System.out.println("借出成功");
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ?}
?? ??? ??? ??? ?
?? ??? ??? ?if(!flag1) {
?? ??? ??? ??? ?System.out.println("该公司不存在,删除失败");
?? ??? ??? ?}
?? ?}
?? ??? ?

? ?5.归还单车

?

?? ?/**
?? ? * 5.归还单车
?? ? */
?? ?public void returnBikeOpration(int cpid,int bikeId) {
?? ??? ?
?? ??? ?
?? ??? ?//获取公司列表
?? ??? ?ShareBikeCompany[] companys =DataBase.companys;
?? ??? ?boolean flag1=false;
?? ??? ?
?? ??? ?
?? ??? ?for(ShareBikeCompany company:companys) {
?? ??? ??? ?if(company.getId()==cpid) {
?? ??? ??? ??? ?//公司存在
?? ??? ??? ??? ?flag1=true;
?? ??? ??? ??? ?//获取单车列表
?? ??? ??? ??? ?ShareBike[] bikes=company.getSharebike();
?? ??? ??? ??? ?
?? ??? ??? ??? ?
?? ??? ??? ??? ?int index=0;
?? ??? ??? ??? ?
?? ??? ??? ??? ?
?? ??? ??? ??? ?//遍历寻找目标单车
?? ??? ??? ??? ?boolean flag2=false;
?? ??? ??? ??? ?for(int i=0;i<bikes.length;i++) {
?? ??? ??? ??? ??? ?if(bikes[i].getId()==bikeId) {
?? ??? ??? ??? ??? ??? ?//单车存在
?? ??? ??? ??? ??? ??? ?index=i;
?? ??? ??? ??? ??? ??? ?flag2=true;
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?//如果未借出,不能归还
?? ??? ??? ??? ??? ??? ?if(!bikes[i].isStatus()) {
?? ??? ??? ??? ??? ??? ??? ?System.out.println("该单车未借出,归还失败");
?? ??? ??? ??? ??? ??? ??? ?return;
?? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?//付钱
?? ??? ??? ??? ??? ??? ?Date borrowTime=bikes[i].getBoorowTime();
?? ??? ??? ??? ??? ??? ?Date returnTime =new Date();
?? ??? ??? ??? ??? ??? ?//相差毫秒数
?? ??? ??? ??? ??? ??? ?long time=returnTime.getTime()-borrowTime.getTime();
?? ??? ??? ??? ??? ??? ?//一分钟两毛,按分钟计费
?? ??? ??? ??? ??? ??? ?long time1=time/1000/60;
?? ??? ??? ??? ??? ??? ?System.out.println("应付金额:"+time1*0.2+"元");
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?//归还操作
?? ??? ??? ??? ??? ??? ?bikes[i].setStatus(false);
?? ??? ??? ??? ??? ??? ?bikes[i].setBoorowTime(null);
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ?}
?? ??? ??? ??? ?
?? ??? ??? ??? ?
?? ??? ??? ??? ?
?? ??? ??? ??? ?if(!flag2) {
?? ??? ??? ??? ??? ?System.out.println("该单车不存在,归还失败");
?? ??? ??? ??? ?}
?? ??? ??? ??? ?
?? ??? ??? ??? ?
?? ??? ??? ??? ?
?? ??? ??? ??? ?
?? ??? ??? ??? ?
?? ??? ??? ??? ?System.out.println("归还成功");
?? ??? ??? ??? ?
?? ??? ??? ??? ?break;
?? ??? ??? ?}
?? ??? ?}
?? ??? ?
?? ?if(!flag1) {
?? ??? ?System.out.println("该公司不存在,归还失败");
?? ?}
}

?

6排行榜


/**
?? ? * 排行榜
?? ? */
?? ?public void rankingOpration() {
?? ??? ?
?? ??? ?//排序
?? ??? ?Arrays.sort(DataBase.companys,new Comparator<ShareBikeCompany>() {
?? ??? ??? ?@Override
?? ??? ??? ?public int compare(ShareBikeCompany o1, ShareBikeCompany o2) {
?? ??? ??? ??? ?return o2.getCount()-o1.getCount();
?? ??? ??? ?}
?? ??? ??? ?
?? ??? ?});

? ? ? ? for(ShareBikeCompany company:DataBase.companys) {
?? ??? ??? ?System.out.println(company.getName()+""+company.getCount());
?? ??? ??? ?
?? ??? ?}
?? ?}
?? ?
?? ?

}

?

?

?

文章来源:https://blog.csdn.net/2301_78058031/article/details/135589758
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。