parseInt("99", 8) throws a NumberFormatException
parseInt("Kona", 10) throws a NumberFormatException
parseInt("Kona", 27) returns 411787为什么是那样的结果
private static int parseInt(int j, int i) {
return j;这样定义可以不
parseInt(99, 8) ;parseInt(99, 16) 为什么输出的结果是99

解决方案 »

  1.   

    public static int parseInt(String s,
                               int radix)
                        throws NumberFormatException使用第二个参数指定的基数,将字符串参数解析为有符号的整数。除了第一个字符可以是用来表示负值的 ASCII 减号 '-' ('\u002D’)外,字符串中的字符必须都是指定基数的数字(通过 Character.digit(char, int) 是否返回一个负值确定)。返回得到的整数值。 
    示例: parseInt("0", 10) 返回 0
    parseInt("473", 10) 返回 473
    parseInt("-0", 10) 返回 0
    parseInt("-FF", 16) 返回 -255
    parseInt("1100110", 2) 返回 102
    parseInt("2147483647", 10) 返回 2147483647
    parseInt("-2147483648", 10) 返回 -2147483648
    parseInt("2147483648", 10) 抛出 NumberFormatException
    parseInt("99", 8) 抛出 NumberFormatException
    parseInt("Kona", 10) 抛出 NumberFormatException
    parseInt("Kona", 27) 返回 411787
      

  2.   

    RETURN后面还执行语句?
     Integer.parseInt(String);
      

  3.   

    parseInt("99", 8) 抛出 NumberFormatException
    parseInt("Kona", 10) 抛出 NumberFormatException
    parseInt("Kona", 27) 返回 411787还是不明白,通过 Character.digit(char, int) 是否返回一个负值确定,怎么确定
    Character.digit(9, 8)返回-1