黑马程序员技术交流社区

标题: DOS显示不了16进制的字母,居然显示λ这些符号或者? [打印本页]

作者: 李桂中    时间: 2014-11-3 23:11
标题: DOS显示不了16进制的字母,居然显示λ这些符号或者?
各位大神,为什么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;

       
        }

}





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