题目
问题描述
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535
感谢大神 http://www.liuhaihua.cn/archives/536730.html
https://blog.csdn.net/u012934325/article/details/78807280
代码
import java.io.IOException;
import java.util.Scanner;
public class searchNumber {
public static void main(String[] args) throws IOException{
Scanner N = new Scanner(System.in);
char [] str;
str = N.next().toCharArray();
long sum = 0;
for (int i = 0; i < str.length; i++)
{
if (str[i] >= 'A' && str[i] <= 'F')
{
sum = sum * 16 + str[i] - 'A' + 10;//假如为B,即为11
}
else
{
sum = sum * 16 + str[i] - '0';
}
}
System.out.print(sum);
}
}