Java程序将十六进制数转换为十进制数


2022年4月15日, Learn eTutorial
1871

在这里,我们将解释如何编写一个java程序来将十六进制数转换为十进制数。

什么是十六进制数?

十六进制数是基数为16的数字系统。它包括0到9和A到F。

示例:7A、5、8B 等。

十六进制数 7A 等于十进制数 122

如何在Java中实现将十六进制数转换为十进制数的Java程序?

首先,我们必须声明类 HexToDec。创建扫描器类的对象 sc。从用户读取十六进制数到变量 hex 中。声明字符串 hs。将字符串 hex 转换为大写。通过使用 for 循环,将 hex 的每个字符取入变量 chn=hs.indexOf(ch),dec=16*dec+n。重复循环直到检查完字符串的所有字符。然后将十进制数 dec 显示出来。

 

算法

步骤 1:声明具有 public 修饰符的类 HextToDec

步骤 2:打开 main() 以启动程序,Java 程序执行从 main() 开始

步骤 3:创建扫描器类的对象 sc

步骤 4:从用户读取十六进制数到变量 hex 中。

步骤 5:从用户读取十进制数到变量 dec 中。

步骤 6:声明字符串 hs="0123456789ABCDEF"

步骤 7:将十六进制数转换为大写。

步骤 8:设置 dec=0。用于存储十进制数。

步骤 9:通过使用 for 循环 检查 i

步骤 10:设置 ch=hext.charAt(i),n=hs.indexOf(ch),dec=16*dec+n

步骤 11:将 i 增加 1 并重复步骤 9。

步骤 12:将十进制数 dec 显示出来。

Java 源代码

                                          import java.util.Scanner;
public class HexToDec{  
   public static void main(String args[]){  
      
   Scanner sc = new Scanner(System.in);
   System.out.println("Enter the Hexadecimal number:");
String hex= sc.nextLine();

     String hs = "0123456789ABCDEF";  
 hex = hex.toUpperCase();  
 int dec = 0;  
 for (int i = 0; i < hex.length(); i++)  
 {  
  char ch = hex.charAt(i);  
  int n = hs.indexOf(ch);  
  dec = 16*dec + n;  
 }  
System.out.println("The decimal number "+dec);
   }  
  
}

                                      

输出

Enter the Hexadecimal number:7A
The decimal number 122