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
相关推荐
TH_17 分钟前
37、SQL的Explain
java·数据库·sql
来两个炸鸡腿7 分钟前
【Datawhale组队学习202601】Base-NLP task04 参数高效微调
人工智能·学习·自然语言处理
zpedu8 分钟前
备考中级职称 用多少时间去学习合适?
学习
康王有点困12 分钟前
Flink部署模式
java·大数据·flink
EndingCoder12 分钟前
属性和参数装饰器
java·linux·前端·ubuntu·typescript
zpedu15 分钟前
togaf备考经验分享
学习
芒克芒克27 分钟前
LeetCode 134. 加油站(O(n)时间+O(1)空间最优解)
java·算法·leetcode·职场和发展
凉、介28 分钟前
ARM 架构中的内存屏障
arm开发·笔记·学习·架构·操作系统·嵌入式
HellowAmy33 分钟前
我的C++规范 - 随机时间点
开发语言·c++·代码规范
huahailing102439 分钟前
Spring 循环依赖终极解决方案:从原理到实战(附避坑指南)
java·后端·spring