匿名用户
1级
2014-05-29 回答
import java.util.LinkedList;
public class ReplaceNumber
{
public static void main ( String[] args )
{
LinkedListresult = new LinkedList();
char r = '0', g = '0', b = '0';
String rgb = "" + r + g + b;
while (!"ZZZ".equals (rgb))
{
if (b = 'A' - 1 && b <= 'Z' ))
{
b++;
}
if (':' == b || 'Z' + 1 == b)
{
if (g ':')
{
g++;
b = 'Z';
}
}
if (':' == g || 'Z' + 1 == g)
{
if (r ':')
{
r++;
g = 'Z';
}
}
rgb = "" + r + g + b;
if ("999".equals (rgb))
{
r = 'A';
g = '0';
b = '0';
}
if ("A99".equals (rgb))
{
r = 'A';
g = 'A';
b = '0';
}
if ("AA9".equals (rgb))
{
r = 'A';
g = 'A';
b = 'A' - 1;
}
result.add (rgb);
}
System.out.println ("唯一序列号:\n" + result.toString ().replaceAll ("[\\[\\]]", "").replaceAll ("\\, ", "\n"));
}
}
追问:
结果还是有差别,但是给到我灵感,先谢谢啦,我自己先琢磨,不懂的再请教吧!谢谢你。
追答:
我真的看不出哪里有差别了,你别糊弄我,
不要随便整句话,说哪里不一样,让楼上楼下来评理。。。
如果你非要说排版和显示格式不一样,那我真要抽你了。。。
要么就采纳,要么就别抄我的思想,一句话
唯一序列号:
001
002
003
004
005
006
007
008
009
019
029
039
049
059
069
079
089
099
199
299
399
499
599
699
799
899
999
A01
A02
A03
A04
A05
A06
A07
A08
A09
A19
A29
A39
A49
A59
A69
A79
A89
A99
AA1
AA2
AA3
AA4
AA5
AA6
AA7
AA8
AA9
AAA
AAB
AAC
AAD
AAE
AAF
AAG
AAH
AAI
AAJ
AAK
AAL
AAM
AAN
AAO
AAP
AAQ
AAR
AAS
AAT
AAU
AAV
AAW
AAX
AAY
AAZ
ABZ
ACZ
ADZ
AEZ
AFZ
AGZ
AHZ
AIZ
AJZ
AKZ
ALZ
AMZ
ANZ
AOZ
APZ
AQZ
ARZ
ASZ
ATZ
AUZ
AVZ
AWZ
AXZ
AYZ
AZZ
BZZ
CZZ
DZZ
EZZ
FZZ
GZZ
HZZ
IZZ
JZZ
KZZ
LZZ
MZZ
NZZ
OZZ
PZZ
QZZ
RZZ
SZZ
TZZ
UZZ
VZZ
WZZ
XZZ
YZZ
ZZZ
你摸自己的良心说,哪一点跟你的提问的规则和要求不一样的??????????
追问:
哥们,分数我不在乎的,只是真是不对,你看数字输出到99之后直接就到199-299-399。。。中间的序号不就丢了吗?
另外可能是我表述需求不明确,换句话说就是 [0-9 A-Z],来拼一个3位的唯一序号,能拼出多少个?
追答:
你是要从001到999的递增???
那你就循环好了,还以为你就是那种二进制类似的地位向高位进位