这道题需要注意的点是要从第2位开始读取数字,因为开头两个是0x。代码如下:
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNextLine()){
int sum = 0;
String s = sc.nextLine();
// 不考虑0x, 从第二位开始读取
for(int i = 2; i < s.length(); i++){
char c = s.charAt(i);
sum *= 16;
// 0 ~ 9
if(c <= '9'){
sum += (c - '0');
}else{
// A ~ Z
sum += 10;
sum += (c - 'A');
}
}
System.out.println(sum);
}
}
}