原文: https://beginnersbook.com/2014/07/java-program-to-convert-decimal-to-hexadecimal/

将十进制数转换为十六进制数有以下两种方法:

1)使用Integer类的toHexString()方法)。

2)通过编写自己的逻辑进行转换,而无需使用任何预定义的方法。

方法 1:使用toHexString()方法的十进制到十六进制转换

  1. import java.util.Scanner;
  2. class DecimalToHexExample
  3. {
  4. public static void main(String args[])
  5. {
  6. Scanner input = new Scanner( System.in );
  7. System.out.print("Enter a decimal number : ");
  8. int num =input.nextInt();
  9. // calling method toHexString()
  10. String str = Integer.toHexString(num);
  11. System.out.println("Method 1: Decimal to hexadecimal: "+str);
  12. }
  13. }

输出:

  1. Enter a decimal number : 123
  2. Method 1: Decimal to hexadecimal: 7b

方法 2:不使用预定义的方法的十进制到十六进制转换

  1. import java.util.Scanner;
  2. class DecimalToHexExample
  3. {
  4. public static void main(String args[])
  5. {
  6. Scanner input = new Scanner( System.in );
  7. System.out.print("Enter a decimal number : ");
  8. int num =input.nextInt();
  9. // For storing remainder
  10. int rem;
  11. // For storing result
  12. String str2="";
  13. // Digits in hexadecimal number system
  14. char hex[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
  15. while(num>0)
  16. {
  17. rem=num%16;
  18. str2=hex[rem]+str2;
  19. num=num/16;
  20. }
  21. System.out.println("Method 2: Decimal to hexadecimal: "+str2);
  22. }
  23. }

输出:

  1. Enter a decimal number : 123
  2. Method 2: Decimal to hexadecimal: 7B