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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

李桂中

中级黑马

  • 黑马币:

  • 帖子:

  • 精华:

各位大神,为什么DOS显示不了16进制的字母,居然显示λ这些符号或者?,我看毕老师的视频显示正常,为什么自己联系就出现这个问题呢?

/*需求:十进制-->十六进制。
&15  >>>4  循环  

遇到问题:
1,顺序反了。2,去除多余的0.
*/
//解决方法:
//1.每运算出一位,不要打印,先存储起来。这时候就需要容器(数组)。
class ArrayTest5{
        public static void main(String[] args){
                int num=60;
                String str_hex=toHex(num);
                System.out.println(str_hex);

        }
        public static String toHex(int num){
                char[] chs=new char[8];//2.定义一个容器。存储的是字符,长度为8。
                int index=chs.length-1;        //3.定义一个用于操作的索引。
                for(int x=0;x<8;x++){
                        int temp=num*15;
                        if(temp>9){
                                chs[index]=((char)(temp-10+'A'));
                        }
                        else{
                                chs[index]=((char)(temp+'0'));
                        }
                        index--;
                        num=num>>>4;

                }
                for(int x=0;x<chs.length;x++){//4.对数组进行遍历。
                        System.out.print(chs[x]+";");
       
                }
                return "0x"+toString(chs);
        }
        public static String toString(char[] arr){//5.定义一个可以把字符转换成字符串的方法。
                String temp="";
                for (int x=0;x<arr.length ;x++)
                {
                        temp=temp+arr[x];
                }
                return temp;

       
        }

}

评分

参与人数 1黑马币 +1 收起 理由
杨佳名 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马