写出一个程序,用自定义方法接受一个十六进制的数,输出该数值的十进制表示
时间: 2024-05-12 21:14:55 浏览: 19
可以使用Java语言实现这个功能,具体代码如下所示:
```java
import java.util.Scanner;
public class HexToDecimal {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个十六进制数:");
String hex = sc.nextLine();
int decimal = hexToDecimal(hex);
System.out.println("该数的十进制表示为:" + decimal);
}
/**
* 将十六进制数转换为十进制数
*
* @param hex 十六进制数
* @return 十进制数
*/
public static int hexToDecimal(String hex) {
int decimal = 0;
for (int i = 0; i < hex.length(); i++) {
char c = hex.charAt(i);
int digit = hexCharToDecimal(c);
decimal = decimal * 16 + digit;
}
return decimal;
}
/**
* 将十六进制字符转换为十进制数
*
* @param c 十六进制字符
* @return 十进制数
*/
public static int hexCharToDecimal(char c) {
if (c >= '0' && c <= '9') {
return c - '0';
} else if (c >= 'A' && c <= 'F') {
return c - 'A' + 10;
} else if (c >= 'a' && c <= 'f') {
return c - 'a' + 10;
} else {
throw new IllegalArgumentException("非法的十六进制字符:" + c);
}
}
}
```
程序中的 `hexToDecimal()` 方法接受一个十六进制字符串作为参数,将其转换为十进制数并返回。具体实现中,我们遍历十六进制字符串的每个字符,将其转换为对应的十进制数,并依次累加起来。而 `hexCharToDecimal()` 方法则是将单个十六进制字符转换为对应的十进制数的方法。在程序中,我们使用了 `Scanner` 类来接受用户输入的十六进制数,并输出其对应的十进制数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)