黑马程序员技术交流社区

标题: 进制转换中出现的问题。求帮助<已解决> [打印本页]

作者: 黑马-王建雨    时间: 2012-5-15 00:41
标题: 进制转换中出现的问题。求帮助<已解决>
本帖最后由 啷个里个郞 于 2012-5-15 17:23 编辑

public class ArrayTest2 {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                toBinary(6);//为什么会打印出口口口
            toOctal(60);//为什么会打印出口口?
                toHexadecimal(60);//为什么会打印出口c
        }
        //十进制转成二进制。
        public static void toBinary(int num){
                trans(num,1,1);
        }
        //十进制转成八进制。
        public static void toOctal(int num){
                trans(num,7,3);
        }
        //十进制转成十六进制。
        public static void toHexadecimal(int num){
                trans(num,15,4);
        }
        public static void trans(int num,int base,int offset){
                if(num==0){
                        System.out.println(0);
                        return;
                }
                char[] chars={0,1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f'};
                char[] arr=new char[32];
                int pos=arr.length;
                while(num != 0){
                        int temp=num&base;
                        arr[--pos]=chars[temp];
                        num =num >>> offset;
                }
                for(int x=pos;x<arr.length;x++){
                        System.out.print(arr[x]);
                }
               
        }

}

作者: 黑马-王建雨    时间: 2012-5-15 00:50
谁还没睡?来帮我看看。谢谢了。
作者: 秦晓阳    时间: 2012-5-15 01:43
char[] chars={0,1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f'};
int都写到char数组里了。
哥们,真服你了,分析了半天,这么简单的问题!~ 自己找个角落画圈圈去吧。
作者: 杨康    时间: 2012-5-15 03:15
char类型的数组里面装的int类型的数据{:soso_e110:}
作者: 范家鹏    时间: 2012-5-15 03:37
char[] chars={0,1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f'};
你定义的数组时就已经确定这个数组只能装char类型的数据,只能装'a','b','c','d','e','f'这部分是char数据类型的数据,
而不能0,1,2,3,4,5,6,7,8,9这些int类型的数据。
作者: 秦晓阳    时间: 2012-5-16 11:39
秦晓阳 发表于 2012-5-15 01:43
char[] chars={0,1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f'};
int都写到char数组里了。
哥们,真服你了, ...

没有嘲笑了,只是开开玩笑的,哥们别介意喽;P




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2