问题描述
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535
代码
import java.util.Scanner;
public class Test {
public static double ten(char x){
if (!(x<10)) {
switch (x) {
case 'A':
return 10;
case 'B':
return 11;
case 'C':
return 12;
case 'D':
return 13;
case 'E':
return 14;
case 'F':
return 15;
}
}
return x;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
char[] arr = s.toCharArray();
double sum = 0;
for (int i = 0;i<arr.length;i++){
sum += ten(arr[i]) * Math.pow(16,arr.length-1-i);
}
System.out.println((int)sum);
}
}