分析:以10进制转为2进制为例,每次除以2,取余,然后继续除,最后倒序取余数。我们这里的任意进制转换也是借用此思想,具体的操作见代码
public static String parse(int n,int base){
StringBuilder sb = new StringBuilder();
Stack stack=new Stack();
char digit[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
while(n>0){
stack.push(digit[n%base]);
n/=base;
}
while(!stack.isEmpty()){
sb.append(stack.pop());
}
return sb.toString();
}