收藏 分销(赏)

停车场管理系统java.docx

上传人:天**** 文档编号:3243144 上传时间:2024-06-26 格式:DOCX 页数:25 大小:21.43KB 下载积分:10 金币
下载 相关 举报
停车场管理系统java.docx_第1页
第1页 / 共25页
停车场管理系统java.docx_第2页
第2页 / 共25页


点击查看更多>>
资源描述
import java.io.*; public class Method { private int intinput() throws IOException,NumberFormatException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); String str=br.readLine(); int i=Integer.parseInt(str); return i; } private String stringinput() throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); String str=br.readLine(); return str; } private boolean between(int n,int min,int max) { for(int i=min;i<=max;i++) if(n==i) return true; return false; } private void printerror() { System.out.println("输入错误!请重新输入!"); } String sip() { String str; while(true) { try { str=this.stringinput(); } catch(IOException e) { this.printerror(); continue; } break; } return str; } int iip(int min,int max) { int n=0; while(true) { try { n=this.intinput(); } catch(IOException e) { this.printerror(); continue; } catch(NumberFormatException e) { this.printerror(); continue; } if(!this.between(n,min,max)) { this.printerror(); continue; } break; } return n; } } public class Car { String car_no; String state; Car() { car_no=null; state=null; } } public class Stop { Car data[]; int size; Stop() { data=new Car[1]; size=0; } private Car peek() { return data[size-1]; } private boolean isFull() { return size==data.length; } private Car pop() { size--; return data[size]; } void pop(int location,Passway p,Temp t) { if(location==this.size) { System.out.println(this.peek().car_no+"号车离开停车场"); this.pop(); } else { int f=this.size; for(int i=1;i<=f-location;i++) { t.push(this.peek()); this.pop(); } System.out.println(this.peek().car_no+"号车离开停车场"); this.pop(); for(int i=0;!t.isEmpty();i++) { this.push(t.peek()); t.pop(); } } if(!p.isEmpty()) { this.push(p.data[p.front]); p.remove(); } } void push(Car target) { if(this.isFull()) stretch(); data[size]=target; size++; target.state=target.car_no+"号车位于停车场"+size+"号位"; System.out.println(target.car_no+"号车进入停车场"+size+"号位"); } boolean isIn(String s) { if(size==0) return false; for(int i=0;i<size;i++) if(data[i].car_no.equals(s)) return true; return false; } private void stretch() { Car[] newData=new Car[data.length*2]; for(int i=0;i<data.length;i++) newData[i]=data[i]; data=newData; } void print() { for(int i=0;i<size;i++) System.out.println(data[i].state.toString()); } } public class Passway { Car [] data; int size; int front; Passway() { data=new Car[1]; size=0; front=0; } boolean isEmpty() { return size==0; } private boolean isFull() { return size==data.length; } public Car remove() { Car result=data[front]; front=(front+1)%data.length; size--; Passway t=new Passway(); for(int i=0;i<this.size;i++) t.add(this.data[front+i]); return result; } void add(Car target) { if(this.isFull()) this.stretch(); data[(front+size)%data.length]=target; size++; target.state=target.car_no+"号车位于便道"+size+"号位"; System.out.println(target.car_no+"号车进入便道"+size+"号位"); } boolean isIn(String s) { if(size==0) return false; for(int i=0;i<size;i++) if(this.data[(front+i)%data.length].car_no.equals(s)) return true; return false; } private void stretch() { Car newData[]=new Car[data.length*2]; for(int i=0;i<data.length;i++) newData[i]=data[(front+i)%data.length]; data=newData; front=0; } void print() { for(int i=0;i<size;i++) System.out.println(data[(front+i)%data.length].state.toString()); } } public class Temp { private Car[] data; private int size; Temp() { data=new Car[1]; size=0; } boolean isEmpty() { return size==0; } Car peek() { return data[size-1]; } private boolean isFull() { return size==data.length; } Car pop() { size--; return data[size]; } void push(Car target) { if(this.isFull()) stretch(); data[size]=target; size++; System.out.println(target.car_no+"号车临时离开停车场"); target.state=target.car_no+"号车临时离开停车场"; } private void stretch() { Car[] newData=new Car[data.length*2]; for(int i=0;i<data.length;i++) newData[i]=data[i]; data=newData; } } public class cms { public static void main(String args[]) { Stop stop=new Stop(); Passway passway=new Passway(); Temp temp=new Temp(); Method method=new Method(); System.out.println("欢迎使用停车场管理系统!"); while(true) { System.out.println("请选择操作"); System.out.println("1: 初始化"); System.out.println("2:进车"); System.out.println("3:出车"); System.out.println("4:查询"); System.out.println("5:退出"); int select=method.iip(1,5); switch(select) { case 1:int i; Stop newstop=new Stop(); Passway newpassway=new Passway(); stop=newstop; passway=newpassway; for(i=1;i<=5;i++) { System.out.println("请输入停车位"+i+"号车位汽车旳编号,键入$完结"); String str=null; while(true) { str=method.sip(); if(stop.isIn(str)) { System.out.println("此车已在停车场里,请重新输入!"); continue; } if(passway.isIn(str)) { System.out.println("此车已在便道里,请重新输入!"); continue; } break; } if(str.equals("$")) break; else { Car c=new Car(); c.car_no=str; stop.push(c); } } if(stop.size==5) for(int n=1;;n++) { System.out.println("请输入便道"+n+"号位汽车旳编号,键入$完结"); String str01=null; while(true) { str01=method.sip(); if(stop.isIn(str01)) { System.out.println("此车已在停车场里,请重新输入!"); continue; } if(passway.isIn(str01)) { System.out.println("此车已在便道里,请重新输入!"); continue; } break; } if(str01.equals("$")) break; else { Car c=new Car(); c.car_no=str01; passway.add(c); } } continue; case 2:System.out.println("请输入待进汽车旳编号:"); String str02=null; while(true) { str02=method.sip(); if(stop.isIn(str02)) { System.out.println("此车已在停车场里,请重新输入!"); continue; } if(passway.isIn(str02)) { System.out.println("此车已在便道里,请重新输入!"); continue; } break; } Car c=new Car(); c.car_no=str02; if(stop.size<5) stop.push(c); else passway.add(c); continue; case 3:System.out.println("请输入待出汽车旳停车位编号:"); int i2; i2=method.iip(1,5); if(i2>stop.size) { System.out.println("此车位尚无汽车!"); continue; } stop.pop(i2, passway, temp); continue; case 4:System.out.println("请选择查询区域:"); System.out.println("1:停车场"); System.out.println("2:便道"); System.out.println("3:打印所有"); int i4=method.iip(1,3); if(i4==1) { System.out.println("请输入待查询停车场车位编号:"); int i41=method.iip(1,5); if(stop.size<i41) System.out.println("此车位尚无汽车!"); else System.out.println(stop.data[i41-1].state.toString()); } else if(i4==2) { System.out.println("请输入待查询便道车位编号:"); int i42=method.iip(1, 100); if(passway.size<i42) System.out.println("此车位尚无汽车!"); else { int ii=(i42-1+passway.front)%passway.data.length; System.out.println(passway.data[ii].state.toString()); } } else { stop.print(); passway.print(); } continue; case 5:System.out.println("欢迎再次使用!"); } break; } } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服