标签:stringbu string 需要 增加 一个 序列 图片 -- bsp
private String getNextNo(String str){
//可以扩展的序列号及顺序
List<String> noList = new Array(Arrays.list(["A","B","C","D","E","F","G"....]));//这里有26个字母,这里就不全罗列了
if(StringUtils.isBlank(Str)) return noList.get(0);
//需要增加的集合索引数值
int addIndex = 1;
List<Integer> indexList = new Array<>();
for(int i = str.length();i>0;i--){
String s = str.substring(i-1,i);
int index = noList.indexOf(s);
if(index<0){//说明含有非字母,直接取加一位最小值
indexList = new Array<>();
for(int j=0;j<str.length()+1;j++){
indexList.add(0);
}
break;
}else{
if(index+addIndex>noList.size()-1){
indexList.add(0);
if(i==1){//如果是最高位,需要再增加一位
indexList.add(0);
}
addIndex=1;
}else{
indexList.add(index+addIndex);
addIndex = 0;
}
}
}
StringBuffer sb = new StringBuffer();
for(int i=indexList.size()-1;i>=0;i--){
sb.append(noList.get(indexList.get(i)));
}
return sb.toString();
}
代码执行结果如下:
标签:stringbu string 需要 增加 一个 序列 图片 -- bsp
原文地址:https://www.cnblogs.com/limeirong/p/14151826.html