1 public class Day043 2 { 3 // 查表法进制转换 4 public static void main(String[] args) 5 { 6 System.out.print(getChange(16, 8)); 7 } 8 // 定义数组 9 static char[] arr = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', 10 '9', 'A', 'B', 'C', 'D', 'E', 'F'}; 11 // X,需要转化的数据;Y,转化成的进制,包括2进制,8进制,16进制; 12 static String getChange(int x, int y) 13 { 14 StringBuffer sb = new StringBuffer(); 15 int temp; 16 int i = 0; 17 int j = y; 18 if (x == 0) 19 return sb.append('0').toString(); 20 while (j / 2 != 0) 21 { 22 i++; 23 j = j / 2; 24 } 25 while (x != 0) 26 { 27 temp = x & (y - 1); 28 sb.append(arr[temp]); 29 x = x >>> i; 30 } 31 return sb.reverse().toString(); 32 } 33 }