题解 | #进制转换#
进制转换
https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6
import java.util.HashMap;
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
private final static int BASE = 16;
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String nextLine = in.nextLine();
String HexStr = nextLine.substring(2);
StringBuffer stringBuffer = new StringBuffer(HexStr);
StringBuffer reverse = stringBuffer.reverse();
String reverseStr = reverse.toString();
int sum = 0;
HashMap hm = new HashMap();
hm.put("0", 0);
hm.put("1", 1);
hm.put("2", 2);
hm.put("3", 3);
hm.put("4", 4);
hm.put("5", 5);
hm.put("6", 6);
hm.put("7", 7);
hm.put("8", 8);
hm.put("9", 9);
hm.put("A", 10);
hm.put("B", 11);
hm.put("C", 12);
hm.put("D", 13);
hm.put("E", 14);
hm.put("F", 15);
for (int i = 0; i < reverseStr.length(); i++) {
char ch = reverseStr.charAt(i);
int charInt = (int) hm.get(ch + "");
int singleNum = charInt;
for (int j = 0; j < i; j++) {
singleNum *= BASE;
}
sum += singleNum;
}
System.out.println(sum);
}
}
