散列原理_设计方案,从车牌号快速地计算出该车辆的大约停车位置
来源:互联网 发布:linux 禅道 编辑:程序博客网 时间:2024/04/29 13:14
/**
* 某停车场容量为1000,编号从1000~1999 且相邻编号位置肯定是相邻的。最高峰大约需要停放800辆车。
假设车牌号码是类似:“京NHK936” 这样的汉字、数字、字母混合。
我们需要一种方案,可以从车牌号快速地计算出该车辆的大约停车位置。这样当有人电话询问某辆车的位置时,只要报一下车牌号就可以了。
*/
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Random;
import java.util.Set;
public class CarPark2 {
//汽车牌号的首字母是身份缩写
public enum provinceEnum {
京,津,冀,晋,蒙,辽,吉,黑,沪,苏,浙,皖,闽,赣,鲁,豫,鄂,湘,粤,桂,琼,渝,蜀,贵,滇,藏,秦,甘,青,宁,新,港,澳,台;
}
public static String createStr(){
String str = null;
Random random = new Random();
str = provinceEnum.values()[random.nextInt(34)].toString();
return str;
}
public static void main(String[] args) throws UnsupportedEncodingException {
Set<String> carNos = new HashSet<String>();
Random random=new Random();
while (carNos.size()<1000) {
char c1=(char)(65+random.nextInt(25));
char c2=(char)(65+random.nextInt(25));
char c3=(char)(65+random.nextInt(25));
carNos.add(createStr()+c1+c2+c3+random.nextInt(9)+random.nextInt(9)+random.nextInt(9));//计算出车牌号
}
Map<Integer,String> map=new HashMap<Integer,String>();
Iterator iterator=carNos.iterator();
int index=1000;
while (iterator.hasNext()) {
map.put(index, iterator.next().toString());
index++;
}
// System.out.println(map.get(1000));
// System.out.println(map.get(1999));
//刚出现不断变换数据是由于java的内存机制,每次执行完程序,
//系统自动回收内存,即数据没有真实存储。这里解决方法是通过死循环控制解决的。
while (true) {
System.out.println("请查询1000到1999中车辆的信息:输入0000推出");
Scanner scanner=new Scanner(System.in);
int key=scanner.nextInt();
System.out.println(map.get(key));
if (key==0000) {
System.out.println("----------谢谢-----------");
break;
}
}
}
- 散列原理_设计方案,从车牌号快速地计算出该车辆的大约停车位置
- excel根据列序号计算出对应的列字母
- 处理动态列的数据库设计方案
- 立法机关从83辆减0辆
- 解决GAT输入车牌号未带出车辆品牌Bug
- JTable 动态地在任意位置增删表格的列操作
- 设M 是一个m×n 的矩阵,其中每行的元素从左到右单增有序,每列的元素从上到下单增有序。 给出一个分治算法计算出给定元素x 在M 中的位置或者表明x 不在M 中。分析算法的时间复杂性。
- 战争迷雾效果 第3章_准确地获取屏幕上的瓦片位置
- 从起始位置开始和从任意位置开始的快速排序
- 从Spring官网快速定位Spring Framework的位置
- 机壳地与数字地_模拟地的关系
- 从数组中计算出每个数的个数
- 【笨木头Cocos2dx 040】战争迷雾效果 第3章_准确地获取屏幕上的瓦片位置
- 【笨木头Cocos2dx 040】战争迷雾效果 第3章_准确地获取屏幕上的瓦片位置
- 如何实现快速地从超大数据库中提取数据并进行相关的操作
- MySQL 快速地从文件中插入大量数据记录的方法
- 63_给出年月日计算出星期几_蔡勒公式的运用.cpp
- 靠边停车的技巧
- Oracle分区表常用命令
- Objective-c中的SEL、Method、IMP
- 数字下落
- 线程与进程的区别
- Maven打包可执行的jar文件(包含所有依赖和不存在spring无法解析schema)
- 散列原理_设计方案,从车牌号快速地计算出该车辆的大约停车位置
- 计算机英语之分布式数据库系统
- windows 系统: 使用命令行启动服务
- android中如何禁止Scrollbar滑动操作?
- Ecilpse 常用快捷键、使用技巧
- 二叉树的遍历
- Windows下Java调用OCR进行图片识别
- 移动web开发经验总结
- 第四章作业