每当我输入字符串和像这样的int (“1101”,2)时,我都希望。方法将返回13,但在问题部分如下所示
如果基数超过10,请使用大写字母,以‘A’作为数字。在基数16中,所使用的数字是‘0’到‘F’。您的方法必须与范围从1到36的基数一起工作。
这到底意味着什么,我在基础转换问题上太软弱了。
发布于 2015-02-12 05:02:22
这会让你开始。它将转换为基础9到基数10。你必须修改它以适应更高的基数,但这应该不会太难。例如,您可以使用case语句将A转换为它们的数值。
 class BaseConvert
    {
        public static int baseTen(String s, int base){
            String[] bits = s.split("");
            int result = 0;
            for (int i = 0; i < bits.length; i++ ){
                int val = (Integer.parseInt(bits[bits.length-1-i])) * ((int)Math.pow(base,i));
                result += val;
            }
            return result;
        }
        public static void main(String[] args)
        {
                 System.out.println(baseTen("1111",2));
        }
    }https://stackoverflow.com/questions/28469369
复制相似问题