用java实现字母与数字混合的唯一序号,且要递增

2024-11-29 10:45:04
推荐回答(3个)
回答(1):

import java.util.LinkedList;

public class ReplaceNumber
{
public static void main ( String[] args )
{
LinkedList result = new LinkedList ();
char r = '0', g = '0', b = '0';
String rgb = "" + r + g + b;
while (!"ZZZ".equals (rgb))
{
if (b < ':' || ( b >= 'A' - 1 && b <= 'Z' ))
{
b++;
}
if (':' == b || 'Z' + 1 == b)
{
if (g < ':')
{
g++;
b = '9';
}
if (g < 'Z' + 1 && g > ':')
{
g++;
b = 'Z';
}
}
if (':' == g || 'Z' + 1 == g)
{
if (r < '9')
{
r++;
g = '9';
}
if (r < 'Z' + 1 && 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"));
}
}

回答(2):

public class threeNO {
public static void main(String[] args) {
String str = "";
char[] a = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};

for(char i:a)
for(char j:a){
if('0' <= i && i <= '9' && 'A' <= j && j <= 'Z') continue;
for(char k:a){
if('0' <= i && i <= '9' && 'A' <= k && k <= 'Z') continue;
if('0' <= j && j <= '9' && 'A' <= k && k <= 'Z') continue;
str = "" + i + j + k;
System.out.println(str);
}
}
}
}
So easy!

回答(3):

使用Integer.toString(x,27)转换,然后前面缺0补零。