java 停车收费_java 编程,停车收费简易系统
展开全部
代码如下,仅实现功能,未考虑安全等情况.//ParkingTest.java
/**
* 停车程序入口32313133353236313431303231363533e4b893e5b19e31333337616563.本示例为考虑数据安全等.仅作为示例,未经调试.
* @author menglg
*
*/
public class ParkingTest {
public static void main(String[] args) {
// 程序入口,可以安排停车出车
for (int i = 0; i
if (ParkingManage.hasPosition()) {
ParkingManage.enterParking(i + "");
continue;
}
break;
}
for (int i = 0; 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 List 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()
}
}
//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
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 停车收费_java 编程,停车收费简易系统相关推荐
- java 异步事件_Java编程入门——异步事件:轮询与中断
CPU几乎把所有的时间都花费在从内存获取指令并运行它们的过程中.然而,CPU和主存仅仅只是计算机硬件系统中众多组件的其中两个.一个完整的系统还包含其他的设备,比如: 硬盘或者固态硬盘,用来存储程序和数 ...
- java培训机构_java编程软件培训机构
java编程软件培训机构,南京小码王科技培训有限公司,欢迎来电预约试听课:13851536647(郑老师)小码王实施以成就感驱动发自内在的建构主义教育,以面向未来高层次人才素质模型为导向,锻炼学生抽象 ...
- java 令牌解析_Java编程guava RateLimiter实例解析
本文主要研究的是Java编程guava RateLimiter的相关内容,具体如下. 场景1 在流量监管中的应用 约定访问速率(CAR)是流量监管常用技术之一,可以应用在端口进和出方向,一般应用在入方 ...
- java 正方形字符串_java编程:怎么画一个正方形?
问题描述: java编程:怎么画一个正方形? 不用applet,只是application编程,用java怎么画一个蓝色的正方形(最好实心和空心的各画一个). -------------------- ...
- java的成员方法_java编程中的成员方法是什么?
DIEA 成员方法描述对象所具有的功能或操作,反映对象的行为,是具有某种相对独立功能的程序模块.它与过去所说的子程序.函数等概念相当.一个类或对象可以有多个成员方法,对象通过执行它的成员方法对传来的消 ...
- java外围设计_Java 编程(23 种设计模式)
简介 在一般的程序开发过程中,初中级程序员接触的程序设计模式是比较少的.最常见的可能就是单例模式.工厂模式.抽象工厂模式等等,但实际上程序中的设计模式是非常多的,具体可以分为 23 种设计模式.设计模 ...
- java split()方法_Java编程性能优化一些事儿
点击上方 "程序员小乐"关注, 星标或置顶一起成长 每天凌晨00点00分, 第一时间与你相约 每日英文 Smile and stop complaining about the t ...
- java开发 职业技能_java编程开发程序员需要具备哪些职业技能
随着互联网的不断发展,java编程开发可以说是目前学习人数和应用范围非常多的一种编程语言了,而今天我们就一起来了解一下,java编程开发程序员需要具备哪些职业技能. 1.数据结构和算法分析 数据结构和 ...
- java父子表_Java编程:将具有父子关系的数据库表数据转换为树形结构,支持无限层级...
在平时的开发工作中,经常遇到这样一个场景,在数据库中存储了具有父子关系的数据,需要将这些数据以树形结构的形式在界面上进行展示.本文的目的是提供了一个通用的编程模型,解决将具有父子关系的数据转换成树形结 ...
最新文章
- 当代的设计潮流是什么_当代流行的设计元素
- 学习使用TryParse方法
- 【转】C++中#include包含头文件带 .h 和不带 .h 的区别
- 自定义函数删除字母C语言,[编程入门]自定义函数之字符提取-题解(C语言代码)...
- ASP 代码当前记录集不支持更新问题的解决办法。
- spring-boot中使用druid连接池
- vuejs之Vue Devtools
- mybatis传参总结
- Java ConcurrentHashMap
- 零基础学python这本书怎么样-怎样学 Python?
- 为什么onenote一直在加载_用OneNote打造全平台的数字笔记本
- 中文地址 识别 切分
- 执行xpath时提示,需要命名空间管理器或XsltContext。此查询具有前缀、变量或用户定义的函数
- mysql数据库管理-innode undo表空间
- 【JVM高级特性与最佳实践(第3版)-周志明】-学习记录之【自动内存管理】
- Grapher class scatter legend
- 2小时破解WIFI密码!WPS漏洞目前尚无解决方案
- 欧姆龙, PLC CJ2M标准程序,一共控制12个伺服电机 ,气缸若干,包含轴点动,回零
- blender 插件使用笔记
- 西门子PLC几种常见的通讯协议分享