题解 | #进制转换#--利用进制的换算方法
进制转换
https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
String str = in.next();
// 截取掉十六机制数OX标识
char[] chars = str.substring(2).toCharArray();
int result = 0;
// 利用十六进制换算十进制的换算方法
for (int i = 0; i < chars.length; i++) {
int num = solution(chars[i]);
result += num * Math.pow(16, chars.length - 1 - i);
}
System.out.println(result);
}
}
// 获取十六进制数
public static int solution(char cin) {
switch (String.valueOf(cin).toUpperCase()) {
case "A":
return 10;
case "B":
return 11;
case "C":
return 12;
case "D":
return 13;
case "E":
return 14;
case "F":
return 15;
default:
return Integer.valueOf(String.valueOf(cin));
}
}
}

查看3道真题和解析