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
相关推荐
小CC吃豆子1 分钟前
C/C++中 int 的最大最小值
c语言·开发语言·c++
SHoM SSER2 分钟前
Spring Boot性能提升的核武器,速度提升500%!
java·spring boot·后端
Bert.Cai2 分钟前
pymysql自动提交设置
开发语言·python
欧米欧10 分钟前
C++模板初阶
开发语言·c++
weixin_4250230010 分钟前
Spring Boot 2.7 + JDK8 集成 Knife4j 4.1.0 教程(仅展示带注解接口)
java·spring boot·后端
酉鬼女又兒14 分钟前
零基础快速入门前端蓝桥杯Web考点深度解析:var、let、const与事件绑定实战(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·职场和发展·蓝桥杯·es6·html5
9523617 分钟前
计算机组成原理 - 主存储器
单片机·嵌入式硬件·学习·fpga开发
追风林20 分钟前
arthas 插件 使用中文
java
rleS IONS25 分钟前
Spring Boot(七):Swagger 接口文档
java·spring boot·后端
AI浩28 分钟前
别卷 Prompt 了,2026 年 AI 工程的新战场是 Harness
java·人工智能·prompt