停车取车java代码 java停车场收费系统代码

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怎么编写停车场管理系统源代码?

importjava.text.SimpleDateFormat;\x0d\x0aimportjava.util.Date;\x0d\x0aimportjava.util.Scanner;\x0d\x0a\x0d\x0a/*********************************\x0d\x0a*停车场管理\x0d\x0a*authorzhang\x0d\x0a*2013-12-13\x0d\x0a********************************/\x0d\x0apublicclassCarStopManager{\x0d\x0a\x0d\x0apublicstaticvoidmain(String[]args){\x0d\x0aScannersc=newScanner(System.in);\x0d\x0a\x0d\x0aSystem.out.println("请入车牌号:");\x0d\x0aStringcarno=sc.next();\x0d\x0aCarStopManagercarStopManager=newCarStopManager();\x0d\x0acarStopManager.setCarNo(carno);//设置车牌号\x0d\x0a\x0d\x0aSimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");\x0d\x0aStringsdate=format.format(newDate());\x0d\x0aSystem.out.println("当前时间(入场时间)是:"+sdate);\x0d\x0a\x0d\x0aSystem.out.println("需要开出车场吗?yes/no:");\x0d\x0aStringyesno=sc.next();\x0d\x0a\x0d\x0aif(yesno.equals("yes")){\x0d\x0aStringedate=format.format(newDate());\x0d\x0aSystem.out.println("出场时间是:"+edate);\x0d\x0a//计算方法\x0d\x0acarManager(2,sdate,edate,carStopManager);\x0d\x0a}\x0d\x0a}\x0d\x0a/**\x0d\x0a*计算方法\x0d\x0a*/\x0d\x0apublicstaticvoidcarManager(inttype,StringstarTime,\x0d\x0aStringendTime,CarStopManagercarStopManager){\x0d\x0a\x0d\x0aif(type==1){//按月收费\x0d\x0aSystem.out.println("如若没有缴纳月费请缴纳800元,如若缴纳将不再提示!");\x0d\x0a}else{\x0d\x0a/**\x0d\x0a*一般不会有停车几个月的吧?先不考虑停车几年或者几个月的\x0d\x0a*/\x0d\x0aStringsDay=starTime.substring(8,10);//入场日期(天)\x0d\x0aStringsHour=starTime.substring(11,13);//入场小时\x0d\x0aStringsMM=starTime.substring(14,16);//入场分钟\x0d\x0a\x0d\x0aStringeDay=starTime.substring(8,10);//出场日期(天)\x0d\x0aStringeHour=endTime.substring(11,13);//出厂小时\x0d\x0aStringeMM=endTime.substring(14,16);//出厂分钟\x0d\x0a\x0d\x0afloatmoney=0;//需缴纳的费用\x0d\x0aintshour=Integer.parseInt(sHour);\x0d\x0aintehour=Integer.parseInt(eHour);\x0d\x0aintsmm=Integer.parseInt(sMM);\x0d\x0aintemm=Integer.parseInt(eMM);\x0d\x0aintrehour=0;//停车几个小时\x0d\x0a\x0d\x0aif(sDay.equals(eDay)){//同一天\x0d\x0a//当天6点到20点之间\x0d\x0aif((shour=6shour

回答于 2022-12-14

我想要一个停车场管理系统的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怎么实现时间的实时存取,我想做一个停车系统,来提取停车时间和取车时间,但是不能够提取当前时间。

停车的时候 new 一个data 放入数据库 取车的时候 也new一个 放入数据库

相减~

Java停车场题,求大神解答

import java.util.ArrayList;

public class Tcat {

//假设停车场有100个停车位

private int carport=100;

//记录空的车位

private int noullcat=100;

//初始化类时传入空余车位数量

public Tcat(int mou) {

noullcat=mou;

}

public void setNoullcat(int noullcat) {

this.noullcat = noullcat;

}

public int getNoullcat() {

return noullcat;

}

//记录进来的车的停车时间

private ArrayList lis=new ArrayList();

//车辆进来,空余车位减一

public int catin(){

if(noullcat1){

noullcat--;

lis.add(1);//停车时间

System.out.print("剩余的车位数量:"+noullcat);

return noullcat;//返回剩余的车位数量

}else{

return -1;//返回值-1,表示以及没有空余的车位

}

}

//返回停车费用

public int catvalue(int id){

return (int)lis.get(id)*3;

}

//车辆出去,空余车位加一,返回空余车位,删除车辆停留的列表

public int catto(int id){

if(noullcatcarport){//判断空余车位是否小于最大车位

lis.remove(id);

noullcat++;

}

System.out.println("停车费用:"+catvalue(id));

System.out.println("剩余的车位数量:"+noullcat);

return noullcat;

}

}

可以参考一下这个


本文题目:停车取车java代码 java停车场收费系统代码
路径分享:http://scjbc.cn/article/dooepps.html

其他资讯