Java语言程序设计基础篇_编程练习题18.24 (将十六进制数转换为十进制数)

题目:18.24 (将十六进制数转换为十进制数)

编写一个递归方法,将一个字符串形式的十六进制数转换为一个十进制数。方法头如下:

java 复制代码
public static int hex2Dec(String hexString)

编写一个测试程序,提示用户输入一个十六进制字符串,然后显示等价的十进制数。

代码示例

编程练习题18_24ConvertHexadecimalToDecimal.java

java 复制代码
package chapter_18;

import java.util.Scanner;

public class 编程练习题18_24ConvertHexadecimalToDecimal {
	private static int pow = 0;
	private static int decimal = 0;
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.print("Enter a hexadecimal number: ");
		String hex = input.next();
		System.out.println(hex2Dec(hex));
		input.close();
	}
	public static int hex2Dec(String hexString){
		if(hexString.length()==0)
			return decimal;
		char ch = hexString.charAt(hexString.length()-1);
		int value = 0;
		if(ch>='A'&&ch<='F') {
			value = (int)ch-55;
		}else
			value = Integer.valueOf(ch+"");
		decimal += value * (int)Math.pow(16, pow);
		pow++;
		return hex2Dec(hexString.substring(0,hexString.length()-1));
	}

}
输出结果
java 复制代码
Enter a hexadecimal number: 1A3F
6719
相关推荐
ou.cs几秒前
C# params 关键字详解:从入门到精通(保姆级教程)
开发语言·c#·.net
₍˄·͈༝·͈˄*₎◞ ̑̑码1 分钟前
多线程——线程安全问题
java·线程安全
皙然5 分钟前
深入浅出 JVM:从内存结构到性能调优的全维度解析
java·jvm
請你喝杯Java7 分钟前
Python 后端开发:从虚拟环境、pip、requirements.txt 到项目启动
开发语言·python·pip
也曾看到过繁星17 分钟前
初识c++
开发语言·c++
冬天豆腐21 分钟前
Springcloud,Nacos管理,打jar包后,启动报错
java·spring cloud·maven·jar
2401_8747325328 分钟前
泛型编程与STL设计思想
开发语言·c++·算法
飞Link30 分钟前
具身智能中 Wrapper 架构的深度解构与 Python 实战
开发语言·python·架构
今儿敲了吗38 分钟前
44| 汉诺塔问题
数据结构·c++·笔记·学习·算法·深度优先
redgxp39 分钟前
SpringBoot3整合FastJSON2如何配置configureMessageConverters
java