1. 程式人生 > >[Java] 藍橋杯BASIC-11 基礎練習 十六進位制轉十進位制

[Java] 藍橋杯BASIC-11 基礎練習 十六進位制轉十進位制

問題描述從鍵盤輸入一個不超過8位的正的十六進位制數字符串,將它轉換為正的十進位制數後輸出。 注:十六進位制數中的10~15分別用大寫的英文字母A、B、C、D、E、F表示。樣例輸入FFFF樣例輸出65535

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);
    }
}