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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© luio 初级黑马   /  2014-6-30 23:00  /  935 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

想请问一下 如何用堆栈的方法写个小例子,输入一个正整数,用堆栈的方法转化为16进制的数!。。希望各位大神不吝赐教。

1 个回复

正序浏览
public static void main(String[] args) {
                System.out.println(dec2Hex(1000));
        }
        public static String dec2Hex(int dec){
                Stack<String> s = new Stack<String>();
                while(dec != 0){
                        int r = dec%16;
                        if(r>=10){
                                char c = getChar(r);
                                s.push(c+"");
                        }
                        else{
                                s.push(""+r);
                        }
                        dec = dec/16;
                }
                String result = "";
                while(s.size()>0){
                        result += s.pop();
                }
                return result;
        }
        public static char getChar(int t){
                switch(t){
                case 10:return 'a';
                case 11:return 'b';
                case 12:return 'c';
                case 13:return 'd';
                case 14:return 'e';
                default: return 'f';
                }
        }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马