17
社区成员
发帖
与我相关
我的任务
分享
题目:十六进制转化为十进制
问题描述
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535
public class day11 {
public static void main(String[] args) {
long sum = 0;
Scanner in = new Scanner(System.in);
char[] str = in.next().toCharArray();
for (int i = 0;i<str.length; i++) {
if (str[i] >= 'A' && str[i] <= 'F') {
sum = sum*16+str[i]-'A'+ 10;
} else {
sum=sum*16+str[i]-'0';
}
}
System.out.println(sum);
}
}