写在博客里的文章,差点找不到
public String getPos(int size) {
String[] args = {"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"};
boolean tag = true;//用来结束循环
StringBuffer reversepos = new StringBuffer();
while (tag) {
int pos = size % 26;
if (pos == 0) {
pos = 25;//整除说明是26结尾,故为Z
size--;//之所以size会减1是因为列并没有数字中所谓的10这回事,Z后面就是AA
} else {
pos -= 1;
}
int result = size / 26;
if (result == 0) {
reversepos.append(args[pos]);
tag = false;
} else {
reversepos.append(args[pos]);
size /= 26;
}
}
return reversepos.reverse().toString();//因为是从类似个位开始算起来,所以要倒转
}