需求:
版本号从1开始递增,页面展示为A-ZZ
例如:
version = 1 ,则 versionDisplay = A
version = 27 ,则 versionDisplay = AA
具体代码实现如下:
public class Test{
public String getVersionDisplay(int version){
if(version < 1){
throw new RuntimeException("订单的版本号不能小于1");
}
if(version > 702){
throw new RuntimeException("订单修改次数过多,请您创建新的订单");
}
String result;
// A对应的ASCII编码为65
// 因为第一位编号默认从1开始,version = 1时, first = A
// first = first + version
// 故first取值64
int first = 64;
int second = 65;
// 如果version小于26,则只有一位编号;如果大于26,则有两位编号。
if(version > 26){
// 通过整除,得到第一位编号
first = first + (version - 1)/26;
// 通过取余,得到第二位编号
second = second + (version - 1)%26;
result = (char) first + "" + (char) second;
}else{
first = first + version;
result = (char) first + "";
}
return result;
}
}