• 大小: 4KB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-01-28
  • 语言: 其他
  • 标签: java  停车场  

资源简介

停车场管理系统的实现 (8-9周) 实验内容:设计一个停车场管理系统软件 。 汽车类 Car 属性: 车牌号 入场时间 出场时间 按月缴费标志 应交停车费 两个以上构造函数 一组set方法 一组get方法 从键盘输入属性的方法 显示属性方法(车牌号、入场时间、出场时间、停车费用) 出场信息登记 (出场时间、交费) 入场信息登记 (车牌号、入场时间、包月标志) 按小时计算停车费用的方法(停车在36小时之内)(计费方法:凌晨6点开始-至晚上8点:第一个15分钟免费,六小时内每15分钟1.5元,6后小时每15分钟2块,晚上8点以后每小时0.5元钱) 按月计费的方法(每月800元) 停车场类 Park 属性 停车场名称 停车场ID 停车场管理单位 值班人员名称 停车常容量 已进入车辆数目 存放入车库车数组 营业额 构造函数(2个) 从键盘输入属性的方法 显示属性方法 汽车入库 汽车出库 判断车库 是否为空 判断车库是否为满 查询显示空车位的编号及空车位个数 查阅until包里的时间相关的类 也可以加入 图形界面 方法二:

资源截图

代码片段和文件信息

import java.util.*;
public class Car {
public String CarID;// 定义车牌号
public Calendar EnTime;//入场时间
public Calendar DeTime;//出场时间
    public int Month_Money_Tag;// 按月缴费的标志
public double Shoud_pay_money;// 应缴车费
public int r;//停车时间的保存   用分数保存  其产生是用随机数产生的
public Car() {//无参构造函数中要写下面这些,不然得到的出场时间是和从系统获得的入场时间是相同的
EnTime = Calendar.getInstance();// 获取系统时间 入场时间       Calendar.getInstance()是为了获得calendar实例
DeTime = Calendar.getInstance();// 出场时间       获得calendar实例
Random r_time=new Random();
r=r_time.nextInt(60*24);//产生24小时 也就是60*24个分钟的随机数,用来修改出场时间
DeTime.add(Calendar.MINUTE r);
}
public Car(String carID Calendar enTime Calendar deTime int month_Money_Tag double shoud_pay_money) {
EnTime = Calendar.getInstance();// 获取系统时间 入场时间       Calendar.getInstance()是为了获得calendar实例
DeTime = Calendar.getInstance();// 出场时间       获得calendar实例
Random r_time=new Random();
r=r_time.nextInt(60*24);//产生24小时 也就是60*24个分钟的随机数,用来修改出场时间
CarID = carID;
EnTime = enTime;
DeTime = deTime;
DeTime.add(Calendar.MINUTE r);
Month_Money_Tag = month_Money_Tag;
Shoud_pay_money = shoud_pay_money;
}
public String getCarID() {
return CarID;
}
public void setCarID(String carID) {
CarID = carID;
}
public Calendar getEnTime() {
return EnTime;
}
public void setEnTime(Calendar enTime) {
EnTime = enTime;
}
public Calendar getDeTime() {
return DeTime;
}
public void setDeTime(Calendar deTime) {
DeTime = deTime;
}
public int isMonth_Money_Tag() {
return Month_Money_Tag;
}
public void setMonth_Money_Tag(int month_Money_Tag) {
Month_Money_Tag = month_Money_Tag;
}
public double getShoud_money() {
return Shoud_pay_money;
}
public void setShoud_money(double shoud_pay_money) {
Shoud_pay_money = shoud_pay_money;
}
public void input_car_info() {
Scanner inputt=new Scanner(System.in);
System.out.println(“请输入车牌号:“);
CarID=inputt.next();
System.out.println(“是否按月缴费(1:是    0:不是)“);
Month_Money_Tag=inputt.nextInt();
}

public double shoud_money() {//计算应交车费
double money=0;
int day=(DeTime.get(Calendar.DAY_OF_MONTH)-EnTime.get(Calendar.DAY_OF_MONTH));//计算天数差
int hour=(DeTime.get(Calendar.HOUR_OF_DAY)-EnTime.get(Calendar.HOUR_OF_DAY));//计算小时差
int minute=(DeTime.get(Calendar.MINUTE)-EnTime.get(Calendar.MINUTE));//计算分钟差
int save_day=0;//用来保存是否跨天的信息
if(day<0){//主要是为了求跨越了月 或天 或小时是产生进位后的  时间差
switch((EnTime.get(Calendar.MONTH)+1)) {//因为从Calendar得到的月份是从0开始计算的  
case 1:day=31+day;break;
case 2:day=28+day;break;
case 3:day=31+day;break;
case 4:day=30+day;break;
case 5:day=31+day;break;
case 6:day=30+day;break;
case 7:day=31+day;break;
case 8:day=31+day;break;
case 9:day=30+day;break;
case 10:day=31+day;break;
case 11:day=30+day;break;
case 12:day=31+day;break;
}
save_day=day;//用来保存是否跨越了一天  到了第二天  
if( hour<0){
day=day-1;
hour=24+hour;
if(minute<0){
hour=ho

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       7531  2017-11-01 09:05  src\Car.java

     文件       3621  2017-11-01 08:47  src\Park.java

     文件       1771  2017-11-01 09:04  src\Test.java

     目录          0  2017-10-25 17:12  src

----------- ---------  ---------- -----  ----

                12923                    4


评论

共有 条评论