81,122
社区成员




public static void main(String[] args)
{
for(int i = 0;i<=38683;i++){//38683
System.out.println(i+": "+f(i));
}
}
private static String f(int num){
String demo = "ABCDEFGHIJKLMNOPQRSTYVWSYZ";
String result = "";
int count =0;
DecimalFormat df=new DecimalFormat("0000");//位数不足补0
if(num<=9999){
return df.format(num);
}
df=new DecimalFormat("000");
if(num<=35973){
num=num-9999;
while(num!=999&&num/999>0){
num=num-999;
count++;
}
return demo.substring(count,count+1)+df.format(num);
}
count=0;
df=new DecimalFormat("00");
if(num<=38449){
num=num-35973;
while(num!=99&&num/99>0){
num=num-99;
count++;
}
return "Z"+demo.substring(count,count+1)+df.format(num);
}
count=0;
if(num<=38683){
num=num-38449;
while(num!=9&&num/9>0){
num=num-9;
count++;
}
return "ZZ"+demo.substring(count,count+1)+num;
}
return "超过范围!!!";
}
不知是否符合你的要求
public static void main(String[] args)
String[] temp = new String[]{
"0",
"0",
"0",
"0"
};
Integer j = 0;
int m = 1500624;//这里m是你的十进制值编号,最后得到的就是转换后的35进制编号。下标最大值35^4-1(zzzz),
//加上0000能记录1500625个数字哟
while (m > 0) {
int n = (m % 35);
if (n > 9) {
temp[3 - j] = ((char) ('A' + n - 9))+"";
} else {
temp[3 - j] = n+"";
}
j++;
m = m / 35;
}
for (int i = 0; i < temp.length; i++) {
System.out.println(temp[i]);
}
}