题解 | #进制转换#
进制转换
https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6
import java.util.Scanner;
import java.lang.Math;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextLine()) { // 注意 while 处理多个 case
String str = in.nextLine();
/*
int sum表示最终结果
索引i处的权重,16的str.length()-i-1次方
'0'~'9' --> 'char'-'0'
'A'~'F' --> 'char'-'A'+10
*/
int thTimes = str.length();
int sum =0;
for(int i=2; i<thTimes; i++) {
int x = -1;
int y = thTimes-i-1;
if (str.charAt(i)>='0' && str.charAt(i)<='9') {
x = str.charAt(i)-'0';
sum += x*(int)Math.pow(16,y);
} else{
x = str.charAt(i)-'A'+10;
sum += x*(int)Math.pow(16,y);
}
}
System.out.println(sum);
}
}
}
