又来求助了,看了好多源码 都是二转八 八转十六啥的十以内的数字也知道用啥算法可是字符又不能像数字那样除以base算余数要怎么转呢?要求是三个输入:两个int,source base、destbase 和一个string
先把string 用soucebase输入的那个进制表达出来,再将这个转换成destbase的进制,然后print
然后两个base都是2-10的任意一个数字 3啊4啊都可以string要怎么弄啊┭┮ ﹏ ┭┮

解决方案 »

  1.   

    Integer.parseInt(String s, int radix) 使用第二个参数指定的基数,将字符串参数解析为有符号的整数。除了第一个字符可以是用来表示负值的 ASCII 减号 '-' ('\u002D’)外,字符串中的字符必须都是指定基数的数字(通过 Character.digit(char, int) 是否返回一个负值确定)。返回得到的整数值。 
    如果发生以下任意一种情况,则抛出一个 NumberFormatException 类型的异常: 第一个参数为 null 或一个长度为零的字符串。 
    基数小于 Character.MIN_RADIX 或者大于 Character.MAX_RADIX。 
    假如字符串的长度超过 1,那么除了第一个字符可以是减号 '-' ('u002D’) 外,字符串中存在任意不是由指定基数的数字表示的字符。 
    字符串表示的值不是 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参数:
    s - 包含要解析的整数表示形式的 String
    radix - 解析 s 时使用的基数。 
    返回:
    使用指定基数的字符串参数表示的整数。 
    抛出: 
    NumberFormatException - 如果 String 不包含可解析的 int。