当前位置:首页 » 编程语言 » java停车场管理系统

java停车场管理系统

发布时间: 2023-08-30 15:49:07

java 编程,停车收费简易系统

代码如下,仅实现功能,未考虑安全等情况.

//ParkingTest.java
/**
*停车程序入口.本示例为考虑数据安全等.仅作为示例,未经调试.
*@authormenglg
*
*/
publicclassParkingTest{
publicstaticvoidmain(String[]args){
//程序入口,可以安排停车出车
for(inti=0;i<100;i++){
if(ParkingManage.hasPosition()){
ParkingManage.enterParking(i+"");
continue;
}
break;
}

for(inti=0;i<100;i++){
ParkingManage.outParking(i+"");
}
System.out.println(ParkingManage.totalCost());
}
}

//ParkingManage.java
importjava.util.ArrayList;
importjava.util.Date;
importjava.util.List;

publicclassParkingManage{
privatestaticList<Parking>parkings=newArrayList<>();
=100;
privatestaticintcurrentNumber;

publicstaticvoidenterParking(Stringlpn){
if(lpn==null||lpn.length()==0){
return;
}
Parkingp=newParking(lpn);
p.setEnterDate(newDate());
parkings.add(p);
}

publicstaticvoidoutParking(Stringlpn){
if(lpn==null||lpn.length()==0){
return;
}
for(Parkingp:parkings){
if(!lpn.equals(p.getLpn()))
continue;
Datenow=newDate();
p.setOutDate(now);
parkings.remove(p);
currentNumber+=p.getCost();
break;
}
}

publicstaticinttotalCost(){
returncurrentNumber;
}

(){
returnparkings.size()<maxNumber;
}
}

//Parking.java
importjava.util.Date;

publicclassParking{
privateStringlpn;
privateDateenterDate;
privateDateoutDate;
privateintcost;

publicParking(Stringlpn){
this.lpn=lpn;
}

publicStringgetLpn(){
returnlpn;
}

publicDategetEnterDate(){
returnenterDate;
}

publicDategetOutDate(){
returnoutDate;
}

publicintgetCost(){
if(outDate==null||enterDate==null){
return0;
}
//停车时间,单位毫秒
longtime=outDate.getTime()-enterDate.getTime();
longhour=60*60*1000;
if(time<hour){
cost=3;
}elseif(time%hour==0){
cost=(int)(time/hour*2);
}else{
cost=(int)((time/hour+1)*2);
}
returncost;
}

publicvoidsetLpn(Stringlpn){
this.lpn=lpn;
}

publicvoidsetEnterDate(DateenterDate){
this.enterDate=enterDate;
}

publicvoidsetOutDate(DateoutDate){
this.outDate=outDate;
}

publicvoidsetCost(intcost){
this.cost=cost;
}

}

㈡ 用JAVA怎么编写停车场管理系统源代码

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

/*********************************
* 停车场管理
* author zhang
*2013-12-13
********************************/
public class CarStopManager {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);

System.out.println("请入车牌号:");
String carno = sc.next();
CarStopManager carStopManager = new CarStopManager();
carStopManager.setCarNo(carno);//设置车牌号

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String sdate = format.format(new Date());
System.out.println("当前时间(入场时间)是: "+sdate);

System.out.println("需要开出车场吗?yes/no:");
String yesno = sc.next();

if(yesno.equals("yes")){
String edate = format.format(new Date());
System.out.println("出场时间是: "+edate);
//计算方法
carManager(2, sdate, edate,carStopManager);
}
}
/**
* 计算方法
*/
public static void carManager(int type,String starTime,
String endTime,CarStopManager carStopManager){

if(type==1){//按月收费
System.out.println("如若没有缴纳月费请缴纳800元,如若缴纳将不再提示!");
}else{
/**
* 一般不会有停车几个月的吧?先不考虑停车几年或者几个月的
*/
String sDay = starTime.substring(8,10);//入场日期(天)
String sHour = starTime.substring(11, 13);//入场小时
String sMM = starTime.substring(14,16);//入场分钟

String eDay = starTime.substring(8,10);//出场日期(天)
String eHour = endTime.substring(11, 13);//出厂小时
String eMM = endTime.substring(14,16);//出厂分钟

float money = 0;//需缴纳的费用
int shour = Integer.parseInt(sHour);
int ehour = Integer.parseInt(eHour);
int smm = Integer.parseInt(sMM);
int emm = Integer.parseInt(eMM);
int rehour = 0;//停车几个小时

if(sDay.equals(eDay)){//同一天
//当天6点到20点之间
if((shour>=6 && shour<=20)){
if(ehour - shour<=6){//6个小时之内
rehour = (ehour - shour)*60+(emm - smm);//停车多少分钟
//需要缴纳的费用 前15分钟免费 以后每15分钟1.5元
money = (rehour/15-15)*1.5f;
}else{
int hour = ehour - shour -6;//6小时除外剩余小时数
rehour = 6*60+(emm - smm);//停车多少分钟
//前15分钟免费 以后每15分钟1.5元 超过6小时15分钟2元
money = ((rehour/15-15)*1.5f)+(hour*60/2);
}
}
}else{//跨天 20点到 6点之间
//todo
}
System.out.println("您的车牌号是:"+carStopManager.getCarNo()+";\n" +
"您此次停车花费的费用是: "+money+"元");
}
}

/**
* bean属性
*/
private String carNo;//车牌号

private String startTime;//入场时间

private String endTime;//出场时间
/**
* 无参构造
*/
public CarStopManager(){
super();
}
/**
* 有参数构造
* @param carNo
* @param startTime
* @param endTime
*/
public CarStopManager(String carNo, String startTime, String endTime) {
super();
this.carNo = carNo;
this.startTime = startTime;
this.endTime = endTime;
}
/**
* 设置get方法
* @return
*/
public String getCarNo() {
return carNo;
}
/**
* 设置set方法
* @param carNo
*/
public void setCarNo(String carNo) {
this.carNo = carNo;
}

public String getStartTime() {
return startTime;
}

public void setStartTime(String startTime) {
this.startTime = startTime;
}

public String getEndTime() {
return endTime;
}

public void setEndTime(String endTime) {
this.endTime = endTime;
}

}

热点内容
如何消除微信小程序缓存 发布:2025-02-04 06:34:24 浏览:633
python27mysqldb 发布:2025-02-04 06:28:44 浏览:768
svn文件夹权限 发布:2025-02-04 06:23:47 浏览:900
师编程 发布:2025-02-04 06:22:51 浏览:168
加密类型wpa 发布:2025-02-04 06:21:27 浏览:176
互联网与云服务器 发布:2025-02-04 06:15:56 浏览:254
硬盘挖矿源码 发布:2025-02-04 06:15:45 浏览:76
宝马3系哪个配置合适 发布:2025-02-04 06:03:10 浏览:328
磁盘存储器的管理课后答案 发布:2025-02-04 05:58:58 浏览:600
b级车买哪个配置 发布:2025-02-04 05:56:41 浏览:562