JAVA实现简单停车场系统代码

JAVA项目中正号需要一个停车收费系统,就整理出来给大家分享一下,希望对大家有所帮助。

<h1 accuse="qTitle" style="margin: 0px; padding: 0px; font-size: 16px; font-stretch: normal; line-height: 26px; font-family: "PingFang SC", "Lantinghei SC", "Microsoft YaHei", arial, 宋体, sans-serif, tahoma; word-break: break-all; position: relative; color: rgb(51, 51, 51);"><pre name="code" class="html">设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间 10
依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。
【基本要求】以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,对每一组输入数据进行操作后的输出数据为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车离去;则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表实现。
【测试数据】设n=2,输入数据为:(‘A',1,5),(‘A',2,10),(‘D',1,15),(‘A',3, 20), (‘A',4,25),(‘A',5,30),(‘D',2,35),(‘D',4,40),(‘E',0,0)。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,其中,‘A'表示到达;‘D'表示离去,‘E'表示输入结束。
【实现提示】需另设一个栈,临时停放为给要离去的汽车让路而从停车场退出来的汽车,也用顺序存储结构实现。输入数据按到达或离去的时刻有序。栈中每个元素表示一辆汽车,包含两个数据项:汽车的牌照号码和进入停车场的时刻。</pre><br>
<br>
</h1><h1><a name="t1"></a></h1>
<pre></pre>
<pre name="code" class="java">import java.util.Scanner; 

public class tingchechangxitong {
 public static void main(String[] args){
 Scanner sc = new Scanner(System.in);
 System.out.println("请输入车库大小和每小时收费:");
 int size = sc.nextInt();
 int cost = sc.nextInt();
 int p = 0,q = 0,hm,sj,i=0,wz=0,j=0,bwz = 0;
 char c;
 System.out.print(size + " " + cost);
 base [] ck1 = new base[size]; //车库大小一定
 base [] ck2 = new base[size];
 base [] ck3 = new base[100]; //假设便道可以放无限的车
 based(ck1,size);
 based(ck2,size);
 based(ck3,100);
 while(true){
 System.out.println("输入数据:\n");
 c = sc.next().charAt(0); 

 if(c == 'e'||c == 'E'){
  System.out.println("结束使用");
  break;
 }
 hm = sc.nextInt();
 sj = sc.nextInt();
 if(c == 'a'||c == 'A')
 if(p<size){
  ck1[p].hm = hm;
  ck1[p].sj = sj;
  System.out.println(hm + "号车进入车库" + (p+1) + "WZ");
  p++;
  System.out.println("现在车库内的车辆为(从里往外):");
  for( i = 0;i<p;i++){
  System.out.print(ck1[i].hm + " ");
  System.out.println();}
 }else{
  ck3[q].hm = hm;
  ck3[q].sj = sj;
  System.out.println(hm + "号车进入便道"+ (q+1) + "WZ");
  q++;
 }
 if(c == 'd'||c == 'D'){
  for(i=0;i<size;i++){
  if(ck1[i].hm == hm){
  System.out.println(hm + "号车离开车库"+ (i+1) + "WZ" + "总花费:" + (sj-ck1[i].sj)*cost);
  p--;
  wz=i;
  break;
  } 

  }
  //changeWZ(ck1,wz,p);//
  //
  ZchangeWZ(ck1,ck2,wz,size-1);//栈实现
  //
  System.out.println("现在车库内的车辆为(从里往外):");
  for( i = 0;i<p;i++){
  System.out.print(ck1[i].hm + " ");
  System.out.println();
 }
  //实现便道的车进入车库
  if(p<size)
  {
  if(q>0)
  {
  //for(i=0,j=p;j<size && i<q;i++,j++){
  // ck1[j].hm = ck3[i].hm;
  ck1[p].hm = ck3[0].hm;
  // ck1[j].sj = ck3[i].sj;
  ck1[p].sj = ck3[0].sj;
  // bwz = i-1;
  BDchangeWZ(ck1,ck3,bwz,q);//队列实现
  p++;
  q--;
  System.out.println("便道车入车库");
  System.out.println("现在车库内的车辆为(从里往外):");
  for( i = 0;i<p;i++){
   System.out.print(ck1[i].hm + " ");
   System.out.println();}
  }   

  /*if(q>0){
  ck1[size-1].hm = ck3[i].hm;
  ck1[j].sj = ck3[i].sj;
  bwz = i-1;
  BDchangeWZ(ck1,ck3,bwz,q-1);//队列实现
  p++;
  q--;
  }*/
  }
  if(p==0)
  System.out.print("NULL\n");
 }
 }
 } 

 //
 //数据 3 3 a 1 1 a 2 2 a 3 3 a 4 4 a 5 5
 //
 // 

 /**
 * 相应函数
 * @param ck
 * @param size
 */
 //基于base的数组
 public static void based(base[]ck,int size)
 { 

 for(int i=0;i<size;i++)
 {
 ck[i] = new base();
 }
 } 

 /* public static void changeWZ(base[]ck,int w,int p){//直接覆盖实现车辆的出车库
 for(int i = w;i<p;i++){
 ck[i].hm = ck[i+1].hm;
 }
 }*/
 public static void ZchangeWZ(base[]ck1,base[]ck2,int w,int s){//栈的思想实现
 int i,j;
 for( i = s,j = 0;i>w;i--,j++){
 ck2[j].hm = ck1[i].hm;
 ck2[j].sj = ck1[i].sj; 

 }//前面的车让道
 int k = j-1;
 for(i = w, j = k;j>=0;i++,j--){
 ck1[i].hm = ck2[j].hm;
 ck1[i].sj = ck2[j].sj;
 }
 }
 public static void BDchangeWZ(base[]ck1,base[]ck3,int w,int s){//队列的思想实现
 int j;
 for(j = 0;j<s-1;j++){
 ck3[j].hm = ck3[j+1].hm;
 ck3[j].sj = ck3[j+1].sj;
 // w--;
 }//前面的车进入车库
 }
}
//基础类
 class base {
 int hm;
 int sj;
}
</pre><br> 

以上就是一个完整的JAVA停车系统实例代码,希望大家可以用的到

(0)

相关推荐

  • Java传入用户名和密码并自动提交表单实现登录到其他系统的实例代码

    不用单点登录,模拟远程项目的登录页面表单,在访问这个页面的时候自动提交表单到此项目的登录action,就可以实现登录到其他系统. ssh框架项目 1.以下是本地系统的action代码: import java.io.IOException; import java.util.List; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.i

  • Java实现排球比赛计分系统

    初步计划: 或许由于个人原因,排球计分系统在假期就完成了,一直未写博客,就这样一直在推就是不想写,在加上过完年就工作了,可能刚实习工作比较紧所以一直等到现在. 写这个系统之前我简单构思了一下,因为离校前我去洛阳参加了一个多月的Java培训,所以写项目用的ide是Java环境.刚开始考虑用jsp做界面,架构用mvc,但是后来一想工作量太大而且效果也不是很好.最终写了纯Java代码,在虚拟机上展示. 需求分析: 排球竞赛为五局三胜制,每局比赛中得够25分并且领先对方2分以上的一方将获得一局胜利,先获

  • Java点餐小程序之黑心商人

    很久以前,有一个女人,开了一家酒店,她的名字叫孙二娘.下面是她找人做的点餐小程序.代码如下: import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.ArrayList; import java.util.Scanner; import java.util.Set; public class MyDianCai { sta

  • Java实现一个达达租车系统的步骤详解

    本文介绍的是利用java编写一个控制台版的"达达租车系统",下面话不多说了,来看看详细实现方法吧. 实现目标 java编写一个控制台版的"达达租车系统" 实现功能 1.展示所有可租车辆 2.选择车型.租车量 3.展示租车清单,包含:总金额.总载货量及其车型.总载人量及其车型 三大分析 数据模型分析 业务模型分析 显示和流程分析 实现效果 租车页面 租车账单 实现思路 首先定义一个Car类,它包含基本功能:车名.载客数.载货量.日租金.接着创建三个小类,分别是客车类.

  • Java中SSM+Shiro系统登录验证码的实现方法

     先给大家展示下效果图: 1.验证码生成类: import java.util.Random; import java.awt.image.BufferedImage; import java.awt.Graphics; import java.awt.Font; import java.awt.Color; /** * 验证码生成器类,可生成数字.大写.小写字母及三者混合类型的验证码. 支持自定义验证码字符数量: 支持自定义验证码图片的大小: 支持自定义需排除的特殊字符: * 支持自定义干扰线

  • java实现学籍管理系统

    本教程为大家分享了学籍管理系统的具体java代码,供大家参考,具体内容如下 1.需求分析 1.1系统功能设计 (1)能够查询学生的基本信息,如:学号,姓名年龄,班级和性别 (2)能对表格中的学生信息实现增加,删除,查找,修改等功能 (3)能将数据保存到MySQL数据库中,记录下来 (4)能把数据通过mysql数据库进行数据更新 1.2系统模块设计 学籍管理系统包括增加信息模块,删除信息模块,修改信息模块,查询信息模块,更新数据模块.系统管理人员能够查询学生的学号,姓名,性别,年龄,所获奖项等信息

  • JAVA实现简单停车场系统代码

    JAVA项目中正号需要一个停车收费系统,就整理出来给大家分享一下,希望对大家有所帮助. <h1 accuse="qTitle" style="margin: 0px; padding: 0px; font-size: 16px; font-stretch: normal; line-height: 26px; font-family: "PingFang SC", "Lantinghei SC", "Microsoft

  • Java实现简单订餐系统

    本文实例为大家分享了Java实现简单订餐系统的具体代码,供大家参考,具体内容如下 import java.util.Scanner; import java.util.*; public class OrderingMsg { public static void main(String[] args) { // 数据主体:一组订单信息 String[] names = new String[4]; // 订餐人名称 String[] dishMegs = new String[4]; // 所

  • java实现简单快递系统

    本文实例为大家分享了java实现简单快递系统的具体代码,供大家参考,具体内容如下 创建四个类Express,Locker, User, Administrator分别模拟快递,快递柜,用户和管理员. import java.util.Random; import java.util.Scanner; /**  * @author hxf  * * @date 2020/12/12  */ public class Test {     static Scanner in = new Scanne

  • Java实现简单字符生成器代码例子

    创建成功的字符串对象,其长度是固定的,内容是不能被修改和编辑.虽然使用"+"可以达到增加新字符或字符串的目的,但"+"会产生一个新的String实例,会在内存中创建新的字符串对象.如果重复地对字符串进行修改,将极大地增加系统开销.J2SE自5.0增加了可变的字符序列String-Builder类,大大地提高了频繁增加字符串的效率.下面看个简单的例子. public class Jerque { /** * 比较一般情况下的字符串生成器,和String-Builder

  • Java多线程编程小实例模拟停车场系统

    下面分享的是一个Java多线程模拟停车场系统的小实例(Java的应用还是很广泛的,哈哈),具体代码如下: Park类 public class Park { boolean []park=new boolean[3]; public boolean equals() { return true; } } Car: public class Car { private String number; private int position=0; public Car(String number)

  • 详解使用SSM实现简单工作流系统之实现篇

    项目说明 本项目是依据<轻量级 Java EE 企业应用实战 第4版>的最后一章中的项目实现的,原本项目使用的框架是Struts2 + Spring 4 + Hibernate,因为本人在学习Spring MVC + Spring + Mybatis,所以将它重写了一次,使用了Spring MVC + Spring + Mybatis项目.在正文中介绍项目的时候,也将主要依据原书的叙述. 因为项目是根据原始项目实现的,实现过程中可能出现有Bug,如果发现问题可以与我联系,或在评论区中留言评论.

  • 一个简单的java学生寝室查询系统

    本文实例为大家分享了java学生寝室查询系统的具体代码,供大家参考,具体内容如下 前端部分: index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>AHPU Freshman dormitory inquiry</title> <script src="confirm.js

  • JS实现简单的选择题测评系统代码思路详解(demo)

    包含内容:JS封装表单,JS校验表单 说是测评系统,感觉只能算是一个小小的Demo,很水,,没有数据库库,,仅使用JS做简单的选择题测评系统 -------------------------------------------------------------------------------- 一.设计思路 表单封装: [1]由于采用JS封装提交所以,不需要form标签 [2]放置多个input标签,作为输入项 [3]编写JS获取输入项,并通过get方式提交到另一个页面 校验表单(显示结

  • Java编程使用UDP建立群聊系统代码实例

    相关java类介绍 DatagramSocket public class DatagramSocket extends Object 此类表示用来发送和接收数据报包的套接字. 数据报套接字是包投递服务的发送或接收点.每个在数据报套接字上发送或接收的包都是单独编址和路由的.从一台机器发送到另一台机器的多个包可能选择不同的路由,也可能按不同的顺序到达. 在DatagramSocket上总是启用UDP广播发送.为了接收广播包,应该将DatagramSocket绑定到通配符地址,在某些实现中,将Dat

  • Java实现简单汽车租赁系统

    本文实例为大家分享了Java实现简单汽车租赁系统的具体代码,供大家参考,具体内容如下 需求如下:  问题分析: 首先应当构建一个MotoVehicle的抽象(abstract)类,类里面包含一个brand属性,表示汽车品牌:还包含一个no属性,表示汽车牌号: package cn.jbit.car; public abstract class MotoVehicle { private String no; private String brand; /** * 无参构造方法 */ public

随机推荐