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
相关推荐
CoderCodingNo几秒前
【GESP】C++八级考试大纲知识点梳理 (7) 算法的时间和空间效率分析
开发语言·c++·算法
程序员zgh1 分钟前
C++ 环形队列 从原理到实例演示
c语言·开发语言·数据结构·c++·学习
csbysj20201 分钟前
Bootstrap 下拉菜单:全面解析与应用指南
开发语言
observe1015 分钟前
ARM学习之时钟,EPIT,GPT
arm开发·学习
想进大厂的小徐5 分钟前
Spring 容器启动与 Bean 创建流程
java·spring boot·spring
婷婷_1726 分钟前
【PCIe验证每日学习·Day21】PCIe复位机制与功能级复位(FLR)全解析
学习·程序人生·芯片·pcie·芯片验证·链路恢复·pcie 复位
dreamxian7 分钟前
微服务1 -- MybatisPlus
java·微服务·架构
糖炒栗子03269 分钟前
后端异步任务编排:基于 RabbitMQ 的“中控-工人”模式
java·rabbitmq
observe10116 分钟前
ARM学习之中断,按键
学习
果果燕18 分钟前
ARM嵌入式学习(一)---ARM基础概念学习
arm开发·学习