public class Solution {
private static Scanner sc = null;
private static final int RADIX = 26;
enum Alphabet {
A(1), B(2), C(3), D(4), E(5), F(6), G(7), H(8), I(9), J(10), K(11), L(12), M(13), N(14), O(15), P(16), Q(17),
R(18), S(19), T(20), U(21), V(22), W(23), X(24), Y(25), Z(26);
private int value;
private Alphabet(int value) {
this.value = value;
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
public int getValueByName(String c) {
for (Alphabet alp : Alphabet.values()) {
if (alp.name().equals(c)) {
return alp.value;
}
}
return 0;
}
}
public int titleToNumber(String str) {
int result = 0;
int alpLength = str.length() - 1;
for (int i = 0; i <= alpLength; i++) {
result = result + Alphabet.valueOf(String.valueOf(str.charAt(alpLength - i))).value
* (int) Math.pow(RADIX, i);
}
return result;
}
}原文:http://blog.csdn.net/wide288/article/details/42640547