如题,parseInt("Kona", 27) returns 411787   是如何计算的?
想不明白这个问题,在论坛里搜到了别人的帖子,可是还是有点疑问
http://topic.csdn.net/t/20050317/09/3857619.html#
为什么字母k 对应 19?  o 对应 24 ? 

解决方案 »

  1.   

    把Kona看成27进制数,转为对应的整数.
      

  2.   

    谢谢!终于转过弯来了,之前一直拿ascii码算来算去,总是算不出来呵呵
      

  3.   

    写一个小算法测试一下:import java.util.*;
    public class Test2{
    public static void main(String[] args){
    String str="Kona";

    System.out.println(myParse(str,27));

    //下面把第一个字符对应27进制数打出来.
    //
    for(int i=0;i<str.length();i++){
    System.out.println("'"+str.charAt(i)+"'="+Character.digit(str.charAt(i),27));
    } }

    //下面的程序是把一个字符串看到radix进制的数,将其转为long值,返回.
    //算法和把一个数字字符转为数值一样.
    //
    public static long myParse(String str,int radix){
    long result=0;
    for(int i=0;i<str.length();i++){
    char c=str.charAt(i);
    result=result*radix+Character.digit(c,radix);
    }
    return result;
    }
    }F:\java>java Test2
    411787
    'K'=20
    'o'=24
    'n'=23
    'a'=10