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实现:十六进制转换十进制
最新推荐文章于 2023-02-22 08:42:38 发布