问题描述
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
package base11; import java.util.Scanner; public class Main { public static void main(String[] args) { char[] str; long sum = 0; Scanner in = new Scanner(System.in); str = in.next().toCharArray(); in.close(); 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); } } |
❤ 点击这里 -> 订阅《PAT | 蓝桥 | LeetCode学习路径 & 刷题经验》by 柳婼