题解 | #进制转换#
进制转换
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); } }