A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 疯狂的大猫   /  2015-4-30 11:30  /  7805 人查看  /  22 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 只想好好的 于 2015-5-11 10:22 编辑

就是将一个十进制整数转换为十六进制
public class TestPrint{
        public static void main(String[] args) {
                int  num = 60; //定义要转换的整数
                //将之转换为16进制 ,直接调用Interger里面的toHexString(int i)静态方法
                // 如果不理解 可以查看api文档
                String str = Integer.toHexString(num);
                System.out.println(str);
                //如果要知道用代码实现可以,看下面toHex()方法
                toHex(num);
        }
        public static void toHex(int num){
                int num1 = num;
                //定义一个对应关系表
                char[] chs = {'0','1','2','3',
                                          '4','5','6','7',
                                          '8','9','A','B',
                                          'C','D','E','F',};
                /*
                 * 一会查表会查到比较的数据,数据一多,就先存储起来,在进行操作
                 * 所以定义一个数组,临时容器
                 */
                char[] arr = new char[8];
                int pos = 0;
                while(num != 0){
                        int temp = num & 15;
                        arr[pos++] = chs[temp];
                        num = num >>> 4;
                }
                System.out.print("十进制:" + num1 + " 转换十六进制为:" );
                for(int i = pos - 1; i >= 0; i--){
                        System.out.print(arr);
                }
                System.out.println();
        }
        
}
输出:
3c
十进制:60 转换十六进制为:3C

回复 使用道具 举报
进行16进制转换
回复 使用道具 举报
就是自己定义的一个方法名
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马