把一个整数转换成十六进制数
public class Test {
public static void main(String[] args) {
String s = decChangeHex(12500);
System.out.println(s);
}
public static String decChangeHex(int num){
Deque<String> stack = new LinkedList<>();
while (num != 0){
Integer sum = (num % 16);
if(Hex.valueOf(sum) != null){
stack.push(Hex.valueOf(sum).name());
}else{
stack.push(sum.toString());
}
num = num /16;
}
StringBuilder sb = new StringBuilder();
while ( stack.peek() != null){
sb.append(stack.pop());
}
return sb.toString();
}
}
enum Hex{
A(10),B(11),C(12),D(13),E(14),F(15);
private final int value;
private Hex(int value){
this.value = value;
}
public static Hex valueOf(int value){
switch (value){
case 10:
return A;
case 11:
return B;
case 12:
return C;
case 13:
return D;
case 14:
return E;
case 15:
return F;
default:
return null;
}
}
}