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
相关推荐
ZIM学编程20 分钟前
把握鸿蒙生态红利:HarmonyOS 应用开发学习路径与实战课程推荐
学习·华为·harmonyos
进击的圆儿23 分钟前
高并发内存池项目开发记录 - 02
开发语言·c++·实战·项目·内存池
xingxing_F28 分钟前
Swift Publisher for Mac 版面设计和编辑工具
开发语言·macos·swift
你才是向阳花30 分钟前
如何用python来做小游戏
开发语言·python·pygame
夜晚中的人海34 分钟前
【C++】使用双指针算法习题
开发语言·c++·算法
怀旧,36 分钟前
【Linux系统编程】3. Linux基本指令(下)
linux·开发语言·c++
paishishaba36 分钟前
JAVA面试复习笔记(待完善)
java·笔记·后端·面试
艾莉丝努力练剑37 分钟前
【C++STL :stack && queue (三) 】优先级队列的使用以及底层实现
linux·开发语言·数据结构·c++·stl
四谎真好看1 小时前
Java 黑马程序员学习笔记(进阶篇19)
java·笔记·学习·学习笔记