欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

实战技巧:Java版剑指Offer - 十进制转字母型二十六进制表示法

最编程 2024-02-06 10:35:49
...
public class List1
{  
    public static int numberTransform2(String str)   
      
    {    
        char[] strArray = str.toCharArray();
        int num = 0;
        if(strArray.length < 0)//如果没有输入字符,则报错。  
        {  
            System.out.println("没有输入字符");  
            return -1;  
         }  
        int sum = 0;
    for(int i =0; i < strArray.length; i++)   
      
      {    
    System.out.println("i="+i+",strArray[i]="+strArray[i]);
    System.out.println("((int)(strArray[i] -'A'))="+((int)(strArray[i] -'A')));
     int temp = strArray[i] - 'A';
     System.out.println("减A的值后temp="+temp);
     if(temp >= 26 || temp < 0)  
     {  
         System.out.println("字符不合规范");    
         return -1;  
     }  
       sum = 26*sum + temp + 1;
       //num = num * 26 + ((int)(strArray[i] -'A') +1);
       //System.out.println("运算后num="+num);
       System.out.println("运算后sum="+sum);
      
     }               
      
     return sum;    
      
    }    
     
 
    public static void main(String[] args) {  
        
        System.out.println(numberTransform2("AB"));  
        
}
}