网站建设资讯

NEWS

网站建设资讯

java停车场停车代码,停车场管理系统java代码

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

import java.text.SimpleDateFormat;

成都创新互联沟通电话:028-86922220,为您提供成都网站建设网页设计及定制高端网站建设服务,成都创新互联网页制作领域十余年,包括成都铜雕雕塑等多个方面拥有多年的网站推广经验,选择成都创新互联,为网站锦上添花。

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;

}

}

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

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

//ParkingTest.java

/**

* 停车程序入口.本示例为考虑数据安全等.仅作为示例,未经调试.

* @author menglg

*

*/

public class ParkingTest {

public static void main(String[] args) {

// 程序入口,可以安排停车出车

for (int i = 0; i  100; i++) {

if (ParkingManage.hasPosition()) {

ParkingManage.enterParking(i + "");

continue;

}

break;

}

for (int i = 0; i  100; i++) {

ParkingManage.outParking(i + "");

}

System.out.println(ParkingManage.totalCost());

}

}

//ParkingManage.java

import java.util.ArrayList;

import java.util.Date;

import java.util.List;

public class ParkingManage {

private static ListParking parkings = new ArrayList();

private static final int maxNumber = 100;

private static int currentNumber;

public static void enterParking(String lpn) {

if (lpn == null || lpn.length() == 0) {

return;

}

Parking p = new Parking(lpn);

p.setEnterDate(new Date());

parkings.add(p);

}

public static void outParking(String lpn) {

if (lpn == null || lpn.length() == 0) {

return;

}

for (Parking p : parkings) {

if (!lpn.equals(p.getLpn()))

continue;

Date now = new Date();

p.setOutDate(now);

parkings.remove(p);

currentNumber += p.getCost();

break;

}

}

public static int totalCost() {

return currentNumber;

}

public static boolean hasPosition() {

return parkings.size()  maxNumber;

}

}

//Parking.java

import java.util.Date;

public class Parking {

private String lpn;

private Date enterDate;

private Date outDate;

private int cost;

public Parking(String lpn) {

this.lpn = lpn;

}

public String getLpn() {

return lpn;

}

public Date getEnterDate() {

return enterDate;

}

public Date getOutDate() {

return outDate;

}

public int getCost() {

if(outDate == null || enterDate == null){

return 0;

}

//停车时间,单位毫秒

long time = outDate.getTime() - enterDate.getTime();

long hour = 60*60*1000;

if(time  hour){

cost = 3;

}else if(time%hour == 0){

cost = (int)(time/hour * 2);

}else{

cost = (int)((time/hour+1) * 2);

}

return cost;

}

public void setLpn(String lpn) {

this.lpn = lpn;

}

public void setEnterDate(Date enterDate) {

this.enterDate = enterDate;

}

public void setOutDate(Date outDate) {

this.outDate = outDate;

}

public void setCost(int cost) {

this.cost = cost;

}

}

我想要一个停车场管理系统的JAVA源程序

#includestdio.h

#includestdlib.h

#includestring.h

#define MAX 3 // 停车场最大容量

#define price 5 //每小时5元

typedef struct time {

int hour;

int min;

} Time;// 定义时间结构体

typedef struct node {

char num[10];

Time reach;

Time leave;

} CarNode;// 定义车辆信息结构体

typedef struct NODE {

CarNode * stack[MAX + 1];

int top;

} SeqStackCar;

typedef struct car {

CarNode *data;

struct car *next;

} QueueNode;

typedef struct Node {

QueueNode *head;

QueueNode *rear;

} LinkQueueCar;

void InitStack(SeqStackCar *s) {

int i;

s-top = 0;

for (i = 0; i = MAX; i++)

s-stack[s-top] = NULL;

}// 栈的初始化

int InitQueue(LinkQueueCar *Q) {

Q-head = (QueueNode *) malloc(sizeof (QueueNode));

if (Q-head != NULL) {

Q-head-next = NULL;

Q-rear = Q-head;

return (1);

} else return (-1);

}// 队列的初始化

void PRINT(CarNode *p, int room) { // 车辆收费

int A1, A2, B1, B2;

printf("\n车辆离开的时间:");

scanf("%d:%d", (p-leave.hour), (p-leave.min));

printf("\n离开车辆的车牌号为:");

puts(p-num);

printf("\n其到达时间为: %d:%d", p-reach.hour, p-reach.min);

printf("\n离开时间为: %d:%d", p-leave.hour, p-leave.min);

A1 = p-reach.hour;

A2 = p-reach.min;

B1 = p-leave.hour;

B2 = p-leave.min;

printf("\n应交费用为: %2.1f元", ((B1 - A1)*60 + (B2 - A2)) * price);

free(p);

}

int Arrival(SeqStackCar *Enter, LinkQueueCar *W) {

CarNode *p;

QueueNode *t;

p = (CarNode *) malloc(sizeof (CarNode));

printf("\n请输入车牌号(例:豫B1234):");

scanf("%d",p-num);

if (Enter-top MAX) {

Enter-top++;

printf("\n车辆在车场第%d位置.", Enter-top);

printf("\n车辆到达时间:");

scanf("%d:%d", (p-reach.hour), (p-reach.min));

Enter-stack[Enter-top] = p;

return (1);

} else {

printf("\n该车须在便道等待!有车位时进入车场");

t = (QueueNode *) malloc(sizeof (QueueNode));

t-data = p;

t-next = NULL;

W-rear-next = t;

W-rear = t;

return (1);

}

}// 车辆的到达登记

void Leave(SeqStackCar *Enter, SeqStackCar *Temp, LinkQueueCar *W) { //车辆的离开

int room;

CarNode *p, *t;

QueueNode *q;

if (Enter-top 0) // 判断车场是否为空

{

while (1) {

printf("\n请输入车在车场的位置/1--%d/:", Enter-top);

scanf("%d", room);

if (room = 1 room = Enter-top) break;

else printf("\n 输入有误,请重输: ");

}

while (Enter-top room) // 把要删除的车辆的前面的车开出来,进临时栈。

{

Temp-top++;

Temp-stack[Temp-top] = Enter-stack[Enter-top];

Enter-stack[Enter-top] = NULL;

Enter-top--;

}

p = Enter-stack[Enter-top]; // 把要删除的车辆节点赋给p。

Enter-stack[Enter-top] = NULL;

Enter-top--;

while (Temp-top = 1) // 再把临时栈里德车辆进停车场

{

Enter-top++;

Enter-stack[Enter-top] = Temp-stack[Temp-top];

Temp-stack[Temp-top] = NULL;

Temp-top--;

}

PRINT(p, room); // 调用计费函数计费

if ((W-head != W-rear) Enter-top MAX) //如果便道上有车,则再开进停车场。

{

q = W-head-next;

t = q-data;

Enter-top++;

printf("\n便道的%s号车进入车场第%d位置.", t-num, Enter-top);

printf("\n请输入%s号车进入车场的时间:", t-num);

scanf("%d:%d", (t-reach.hour), (t-reach.min));

W-head-next = q-next;

if (q == W-rear) W-rear = W-head;

Enter-stack[Enter-top] = t;

free(q);

} else printf("\n便道里没有车.\n");

} else printf("\n车场里没有车.");

}

void List1(SeqStackCar *S){ int i;

if (S-top 0) {

printf("\n车场:");

printf("\n 位置 到达时间 车牌号\n");

for (i = 1; i = S-top; i++) {

printf(" %d ", i);

printf(" %d:%d ", S-stack[i]-reach.hour, S-stack[i]-reach.min);

puts(S-stack[i]-num);

}

} else printf("\n车场里没有车");

}//显示车场里的车辆情况

void List2(LinkQueueCar *W) {

QueueNode *p;

int i;

p = W-head-next;

if (W-head != W-rear) {

printf("\n等待车辆的号码为:");

for (i = 1; (p != NULL); i++) {

printf("\n第 %d 车辆.", i);

puts(p-data-num);

p = p-next;

}

} else printf("\n便道里没有车.");

printf("\n");

}//显示便道上的车辆情况

void List(SeqStackCar S, LinkQueueCar W) {

int flag, tag;

flag = 1;

while (flag) {

printf(" 查看车辆列表显示: ");

printf("\n 1.车场列表\n 2.便道列表\n 3.返回主菜单\n");

printf("\n请选择 1~3:");

while (1) {

scanf("%d", tag);

if (tag = 1 tag = 3) break;

else printf("\n 输入有误,请重新选择 1~3:");

}

switch (tag) {

case 1:List1(S);

break;

case 2:List2(W);

break;

case 3:flag = 0;

system("cls");

break;

default: break;

}

}

}//显示,遍历

int main() {

SeqStackCar Enter, Temp;

LinkQueueCar Wait;

int ch;

InitStack(Enter);

InitStack(Temp);

InitQueue(Wait);

while (1) {

printf("\n ############ 欢迎使用停车场系统.############\t\n\n");

printf("\n\t * 1. 车辆到达登记.\t\n");

printf("\n\t * 2. 车辆离开登记.\t\n");

printf("\n\t * 3. 车辆列表显示.\t\n");

printf("\n\t * 4. 退出系统.\t\n\n");

while (1) {

printf(" 请选择: ");

scanf("%d", ch);

if (ch = 1 ch = 4)break;

else printf("\n 输入有误,请重新选择: 1~4: ");

}

switch (ch) {

case 1:Arrival(Enter, Wait);

break;

case 2:Leave(Enter, Temp, Wait);

break;

case 3:List(Enter, Wait);

break;

case 4:exit(0);

default: break;

}

}

}// 自定义函数


本文题目:java停车场停车代码,停车场管理系统java代码
文章位置:http://cdweb.net/article/dscigee.html