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';
}
}
java實現:十六進制轉換十進制
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.