进制转换,体现功能代码复用,查表法等……
?
?
/*练习定义一个功能。将一个数组中的元素,全部替换成指定元素。定义一个功能,将一个数组中部分元素,替换成指定元素。{3,1,6,8,4}{0,0,0,0,0,0,0} System.arrayCopy(src,1,dest,2,3){0,0,1,6,8,0,0} public static void set(int[] arr,int start,int end,int value){for(int x=start;x<end; x++){arr[x] = value;}}public static void set(int[] arr,int value){set(arr,0,arr.length,value);}*/class BinaryTest2 {public static void main(String[] args) {//toHex(28);//toBin(-6);//System.out.println(Integer.toBinaryString(-6));}/*十进制转成十六进制。*/public static void/*String*/ toHex(int num){/*return */trans(num,15,4);}/*十进制转成二进制*/public static void /*String*/toBin(int num){/*return */trans(num,1,1);}/*定义一个进制转换功能。*/private static void /*String*/ trans(int num,int base,int offset){if(num==0){System.out.println("0");return;}char[] chs = {'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] = chs[temp];num = num >>> offset;}for(int x=pos; x<arr.length; x++){System.out.print(arr[x]);}//return new String(arr,pos,arr.length-pos);}}