java實現:十六進制轉換十進制

import java.util.*;
public class HextoDecimal {
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        System.out.println("please input a Hex");
        String s = in.nextLine();
        /*toUpperCase先將字符串全部轉換成大寫,方便將每個字符轉換爲十進制的數字*/
        System.out.println(s + "'s decimal is " + hexTranslateToDecimal ( s.toUpperCase() ) );
    }
    public static int hexTranslateToDecimal(String s)
    {
        int decimal = 0;
        for( int i = 0; i < s.length(); i++)
        {
            char hexChar = s.charAt(i);
//          System.out.println(hexChar); 對於字符串'A32',charAt(0)是A,charAt(1)是3...
            decimal = decimal * 16 + hexCharToDecimal(hexChar);  /*使用遞歸*/   
        }
        return decimal;
    }
    public static int hexCharToDecimal(char hexChar)
    {
        if (hexChar >= 'A' && hexChar <= 'F' )
            return hexChar - 'A' + 10 ;
        else
            return  hexChar - '0';      
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章