package TSMain;
public class ts {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(charToNum('s')) ;
System.out.println(letterToNum("sdad")) ;
}
/**
* @param str
* <summary> 26 进制字母转换成数字 </summary> <param
name="letter"></param>
* <returns></returns>
* @return
*/
public static int letterToNum(String str) {
// 此处判断是否是由 A-Z 字母组成的字符串,略(正在表达式片段)
char[] letter = str.toUpperCase().toCharArray(); // 拆分字符串
int reNum = 0;
int power = 1; // 用于次方算值
int times = 1; // 最高位需要加 1
int num = letter.length;// 得到字符串个数
// 得到最后一个字母的尾数值
reNum += charToNum(letter[num - 1]);
// 得到除最后一个字母的所以值,多于两位才执行这个函数
if (num >= 2) {
for (int i = num - 1; i > 0; i--) {
power = 1;// 致 1,用于下一次循环使用次方计算
for (int j = 0; j < i; j++) // 幂,j 次方,应该有函数
{
power *= 26;
}
reNum += (power * (charToNum(letter[num - i - 1]) +
times)); // 最高位需要加 1,中间位数不需要加一
times = 0;
}
}
return reNum;
}
/**
* @param ch