博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2016华为实习编程题:停车管理系统
阅读量:6345 次
发布时间:2019-06-22

本文共 4223 字,大约阅读时间需要 14 分钟。

题目就是上面的

但是对输出要求比较多的,输出没有截图下来,题目很简单的。主要一些错误操作

两个公共合法判断

1.操作合法

2.车牌号合法

3.停车场不存在

初始停车场:

1.左起还是右起 只能是0 或 1

2.可停车数量要合法

进入停车场:

1.该车是否存在

2.停车场是否由空车位

离开停车场:

1.车是否存在

其中几个比较简单了

Java

package Huawei;import java.util.ArrayList;import java.util.HashMap;import java.util.Scanner;public class Parking {    /**     * @param args     */     // 车停的位置    static ArrayList
parking = new ArrayList
(); // 车停车次数 static HashMap
count = new HashMap
(); static int left = -1; public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); while(in.hasNext()){ String[] strArr = in.nextLine().split(" "); if(strArr[0].equals("initPark")) initPark(strArr); else if(strArr[0].equals("enterPark")) enterPark(strArr); else if(strArr[0].equals("exitPark")) exitPark(strArr); else if(strArr[0].equals("countIdle")) countIdle(strArr); else if(strArr[0].equals("isExit")) isExit(strArr); else if(strArr[0].equals("isParking")) isParking(strArr); else if(strArr[0].equals("reset")) reset(strArr); else{ System.out.println("ERROR"); } } } /** * 重置停车场 * @param strArr */ public static void reset(String[] strArr){ if(strArr.length !=1){ System.out.println("reset error"); return; } left = -1; parking.clear(); count.clear(); } /** * 是否以前在停车场停过 * @param strArr */ public static void isParking(String[] strArr){ if(strArr.length !=2){ System.out.println("isParking error 1 "); return; } if(isNumber(strArr[1])==false || parking.size()<=0){ System.out.println("isParking error 2"); return; } if(count.containsKey(strArr[1])){ System.out.println("isParking " + strArr[1]); return; } System.out.println("no parking"); } /** * 是否在停车场 * @param strArr */ public static void isExit(String[] strArr){ if(strArr.length !=2){ System.out.println("isExit error 1 "); return; } if(isNumber(strArr[1])==false || parking.size()<=0){ System.out.println("isExit error 2"); return; } int i =0; for(i =0;i
=0;i--){ if(parking.get(i).equals("-1")){ parking.set(i, strArr[1]); break; } } } // 没有停车空间 if(i==-1 || i==parking.size()){ System.out.println("no parking place"); return; } // HashMap中记录该车停车的次数 if(count.containsKey(strArr[1])){ count.put(strArr[1],count.get(strArr[1]) + 1); }else{ count.put(strArr[1],1); } System.out.println("welocome "+strArr[1]+","+ i + " parking place"); } public static boolean isNumber(String str){ boolean res = str.matches("[0-9]{5}");// 匹配5位车牌号 return res; } /** * 初始化停车场 * @param strArr */ public static void initPark(String[] strArr){ if(strArr.length !=3){
// 初始输入数组长度是 3 System.out.println("initPark error 1 "); return; } if(strArr[1].matches("[0-9]+") == false){
// 匹配停车位是否是数字 System.out.println("initPark error 2 "); return; } if(strArr[2].matches("[0-9]{1}") == false){
// 起始停车方向只能是一位数字 System.out.println("initPark error 3 "); return; } int num = Integer.valueOf(strArr[1]); left = Integer.valueOf(strArr[2]); if(!(left==0 || left==1) || num<=0){
// 停车方向只能是0 1 停车数量要大于0 System.out.println("initPark error 4 "); return; } if(parking.size()!=0 || count.size()!=0){
// 初始停车场已经存在 错误 System.out.println("initPark error 4"); return; } for(int i =0;i

 

转载地址:http://glcla.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
无线和有线路由哪种性能更好
查看>>
Dwr3.0纯注解(纯Java Code配置)配置与应用浅析三之后端反向调用前端
查看>>
Ubuntu下安装遨游浏览器
查看>>
自定义Linux service脚本
查看>>
微信开发之发红包
查看>>
一键lnmp脚本&&php扩展模块安装(适用于CENTOS6.X系列)
查看>>
二维观察---文字的裁剪
查看>>
矩形覆盖
查看>>
ICMP
查看>>
界面设计模式(第2版)(全彩)
查看>>
解决VMware Workstation错误:未能锁定文件
查看>>
CentOS6 手动编译升级 gcc
查看>>
memcached的安装与开启脚本
查看>>
Linux与Window字符集~~伤不起的幽灵空白符
查看>>
zabbix 邮件报警 -- sendmail
查看>>
JavaScript异步编程
查看>>
tcpdump用法小记
查看>>
MySQL基础安全注意细节
查看>>
Oracle随机函数—dbms_random
查看>>