分析:以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();
}