当前位置:编程学习 > JAVA >>

这个编码规则怎么搞?

现在要生成一种文件编码生成规则,如首次编码从配置档中读出,为A01,然后变为A02,存入配置档中,下一次就得到的为A02,然后变为A03,一直这样一直到A99,然后变为B01、B02一直到B99,最终是到Z99,其中首位不能出现I、O、X,即到了H99的时候变为J01,到了N99的时候变为P01,就是这样,在此谢谢大家了 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 不知楼主具体的用法,这段代码可以把数字0到2276 转换成A01-Z99. 不含'I',‘O','X'打头的。

public static String getStringOfNumber(int number)
{
if(number<0||number>23*99) //如果给出的数小于0或大于2277(23*99) 返回数字的字符串形式.
{
return ""+number;
}
int y=number/99; //y 是要处理的数除99的商。变成字母。
int z=number%99+1; //z 是除99的余数,加一 的目的是  0 -->01 10-->11 ... 98-->99
char letter='A'; //下面这几个判断是跳过 'I','O','X'.
if(y<('I'-'A'))
{
letter+=y;
}
else if(y>=('I'-'A')&&y<('N'-'A'))
{
letter+=(y+1);
}
else if(y>=('N'-'A')&&y<('V'-'A'))
{
letter+=(y+2);
}
else
{
letter+=(y+3);
}
String temp=z<10?"0"+z:""+z; //1...9  ---->  01...09
return letter+temp;
}

补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,