时间限制:1秒
空间限制:32768K
写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )
输入描述:
输入一个十六进制的数值字符串。
输出描述:
输出该数值的十进制字符串。
输入例子1:
0xA
输出例子1:
10
个人解法如下:
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(true){
if(!sc.hasNext()){
break;
}else{
String str = sc.next();
int n = str.length() - 2;
int sum = 0;
for(int i = 2; i < str.length(); i++){
sum *= 16;
if(str.charAt(i) == 'A'){
sum += 10;
}else if(str.charAt(i) == 'B'){
sum += 11;
}else if(str.charAt(i) == 'C'){
sum += 12;
}else if(str.charAt(i) == 'D'){
sum += 13;
}else if(str.charAt(i) == 'E'){
sum += 14;
}else if(str.charAt(i) == 'F'){
sum += 15;
}else{
String s = String.valueOf(str.charAt(i));
sum += Integer.parseInt(s);
}
}
System.out.println(sum);
}
}
}
}