String strInteger = "123456";
                public static final STR_NUMBER = {"a","b","c","d","e","f"};
StringBuffer sbResult = new StringBuffer();
for(int i = 0;i < strInteger.length();i++){
sbResult.append(STR_MODIFY[i]);
sbResult.append(STR_NUMBER[strInteger.charAt(i) - 48]);    //这里为什么要减48谁给讲讲
}

解决方案 »

  1.   

    ASC 码..相差48 ..减去刚好.
      

  2.   


    System.out.println(strInteger.charAt(i));    
    //得出的是char型字符,为什么不减48会下标越界啊?难道又是忘了基础知识?
      

  3.   

    strInteger.charAt(i)取出来的是字符'1',字符1对应的ACSII码是49.知道了吧...
      

  4.   

    补知识去了,String strInteger = "1234";
    int i = 0;
    System.out.println((int)strInteger.charAt(i));    // 结果:49