【发布时间】:2014-04-28 17:08:18
【问题描述】:
我想创建一个生成随机英国车牌的函数(使用 2001 年引入的结构),但真的不知道从哪里开始。
所有板块都遵循以下结构:
[两个字母][两个数字][3个随机字母]
例如BD51 SMR
关于结构的更多信息可以在这里找到:http://goo.gl/jh8Ldi
前两个字母代表一个区号,有几百个,它不像A + A-Z,B + A-Z等那么简单。例如A后面可以跟除I,Q和Z之外的任何字母, 而 D 后面只能跟字母 A-K(不包括 i)。
这两个数字代表制造年份 - 我觉得这个没问题。
我能处理的最后三个字母。
有没有办法得到前两个字母而不必在一个数组中列出所有可能的结果?
谢谢
【问题讨论】:
-
有可能在没有明确的值列表的情况下获得前两个字母,但您需要告诉我们生成它们的算法是什么。
-
我认为没有其他方法可以做到这一点。你总是需要能够检查你得到的是一个有效的结果,无论是通过查找还是代码中非常复杂的规则。根据您使用它的目的 - 它是否需要真正随机?看起来一些首字母可以让您从 A-Y 中获得第二个字母,所以如果您准备牺牲一些可能性,您可以通过从中选择来制作不太复杂的东西。
-
DDees ShrewsburyL M N O P R S T U V W X Y