經典算法題-十六進制轉化十進制


使用Java寫出一個程序:接受一個十六進制的數,輸出該數值的十進制表示。(多組同時輸入 )

 

import java.util.Scanner;

public class number {
    private static final String A = "A";
    private static final String B = "B";
    private static final String C = "C";
    private static final String D = "D";
    private static final String E = "E";
    private static final String F = "F";

    public static int change(String string) {
        int[] data = new int[string.length() - 2];
        int result = 0;
        for (int i = 0; i < string.length() - 2; i++) {
            String sub = string.substring(i + 2, i + 3);
            switch (sub) {
                case A:
                    data[i] = 10;
                    break;
                case B:
                    data[i] = 11;
                    break;
                case C:
                    data[i] = 12;
                    break;
                case D:
                    data[i] = 13;
                    break;
                case E:
                    data[i] = 14;
                    break;
                case F:
                    data[i] = 15;
                    break;
                default:
                    data[i] = Integer.parseInt(sub);
            }
            result += data[i] * Math.pow(16, string.length() - 2 - i - 1);

        }
       return result;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            String string = scanner.nextLine();
            int result = change(string);
            System.out.println(result);
        }
    }
}

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM