?
使用Java语言,实现共享单车的投放,借出,查看,删除,回收,以及借出次数排行榜
?
启动类调用打印类,打印类调用业务层类,业务层类调用数据库类,数据库类调用实体类
?
?
程序的主方法所在
/**
?* 启动类
?* @author li
?*
?*/
public class App {
?? ?public static void main(String[] args) {
?? ??? ?new pageUi().indexPageUi(); //创建匿名对象
?? ??? ?System.out.println("=====你退出了迷你共享单车管理系统=====");
?? ?}
}
?
?
实现程序主页面循环打印,以及具体方法的调用
?
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();
?? ??? ?
? ? }
}
?
?
?
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;
?? ?}
?? ?
?? ?
}
?
/**
?* 公司信息实体类
?* @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;
?? ?}
?? ?
}
?
/**
?* 数据库类
?* @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);
?? ??? ?
?? ?}
?? ?
?? ?
}
/**
?* 业务层接口
?* @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();
}
?
import java.util.Arrays;
import java.util.Comparator;
import java.util.Date;
/**
?* 主业务层,实现接口
?* @author LI
?*
?*/
public class DateOpration implements IDataOpration{
?
?? ?/**
?? ? * 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.查看单车
?? ? */
?? ?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.删除单车
?? ? */
?? ?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.借出单车
?? ? */
?? ?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.归还单车
?? ? */
?? ?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("该公司不存在,归还失败");
?? ?}
}
?
/**
?? ? * 排行榜
?? ? */
?? ?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());
?? ??? ??? ?
?? ??? ?}
?? ?}
?? ?
?? ?
}
?
?
?