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
相关推荐
jiankeljx17 小时前
Spring Initializr创建springboot项目,提示java 错误 无效的源发行版:16
java·spring boot·spring
competes17 小时前
深圳程序员职业生涯
java·大数据·开发语言·人工智能·java-ee
深蓝轨迹17 小时前
Redis 消息队列
java·数据库·redis·缓存·面试·秒杀
小小小米粒17 小时前
Collection(单列集合)、Map(双列集合),容易搞混的 Collections 工具类。
java·开发语言
Yilena17 小时前
一文讲透 Agent 应用中的记忆工程
人工智能·学习
Rhystt17 小时前
代码随想录算法训练营第六十天|多余的边?从基础到进阶!
开发语言·c++·算法·图论
skiy17 小时前
springboot+全局异常处理
java·spring boot·spring
愤豆18 小时前
07-Java语言核心-JVM原理-JVM对象模型详解
java·jvm·c#
东离与糖宝18 小时前
零基础Java学生面试通关手册:项目+算法+框架一次搞定
java·人工智能·面试
gaozhiyong081318 小时前
超越跑分:Gemini 3.1 Pro 2026年多维度能力评估体系深度拆解
java·开发语言