前言:前几天参加阿里巴巴旗下亚博科技的笔试,第一题是一道十进制转16进制的题,我直接写了一个 return Integer.toHexString(n)的方法上去,今天面试官问我:你觉得我们是考察你调用API吗[手动微笑]
话不多说,面试官先让我手写一个(虽然我昨天刚写过一遍,但是竟然在写第二遍的时候写错了,以至于卡壳了将近20分钟....我感觉是相当尴尬)然后在面试官的点拨下磕磕绊绊的完成了。
public static String toHex(int n) {
int temp = n;
int ch_arr_len = 1;
while(temp/16>0){
ch_arr_len++;
temp /= 16;
}
char[] ch_arr = new char[ch_arr_len];
int ch_index = 0;
while(n>0){
int num = n%16;
if(num<=9 && num>=0) ch_arr[ch_index++] = (char)(num+48);
else if(num>=10 && num<=0) ch_arr[ch_index++] = (char)(num-10+65);
else return "Error";
n /= 16;
}
char[] str_arr = new char[ch_arr.length];
for(int i = 0 ; i<ch_arr.length;i++){
str_arr[i] =