Java convert decimal to hex

Let’s learn java convert decimal to hex.

Java convert decimal to hex

Write a java program to convert a decimal number to hexadecimal number is one of the common java interview question.

Also read – decimal to binary in java

In number system, decimal number has a base of ten and has digits from 0 to 9.

Whereas hexadecimal number has a base 16 and has digits from 0 to 9 and A to F. Now let’s see the comparison through a table,

java convert decimal to hex

As you can see in the above table, from 0 to 9 numbers are same in both number system.

Also read – decimal to octal in java

After number 9 – 10 is denoted as ‘A’, 11 is denoted as ‘B’, 12 is denoted as ‘C’, 13 is denoted as ‘D’, 14 is denoted as ‘E’, 15 is denoted as ‘F’ in the hexadecimal system.

Here’s java program to convert decimal to hex.

import java.util.Scanner;
public class DecimalToHexaExample 
{
   public static void main(String[] args) 
   {
      Scanner sc = new Scanner(System.in);
      System.out.println("Please enter decimal number: ");
      int decimal = sc.nextInt();
      String strHexadecimal = "";
      while(decimal != 0)
      {
         int hexNumber = decimal % 16;
         char charHex;
         if(hexNumber <= 9 && hexNumber >= 0)
         {
            charHex = (char)(hexNumber + '0');
         }
         else
         {
            charHex = (char)(hexNumber - 10 + 'A');
         }
         strHexadecimal = charHex + strHexadecimal;
         decimal = decimal / 16;
      }
      System.out.println("Hexadecimal number: " + strHexadecimal);
      sc.close();
   }
}


Output:

Please enter decimal number: 14
Hexadecimal number: E


Let’s learn two more ways to convert decimal to hexadecimal.

  • using Integer.toHexString() method – this method returns string representation of the unsigned integer value represented by the argument in hexadecimal (base 16).
  • without using predefined method.

Convert decimal number to hexadecimal number using Integer.toHexString() method.

import java.util.Scanner;
public class DecimalToHexaExample
{
   public static void main(String[] args)
   {
      Scanner sc = new Scanner(System.in);
      System.out.println("Please enter decimal number: ");
      int decimalNumber = sc.nextInt();
      String str = Integer.toHexString(decimalNumber);
      System.out.println("The hexadecimal value is: " + str);
      sc.close();
   }
}


Output:

Please enter decimal number: 12
The hexadecimal value is: c


decimal to hex – without using predefined method

Let’s see java decimal to hex conversion without using predefined method.

import java.util.Scanner;
public class DecimalToHexadecimal
{
   public static void main(String[] args)
   {
      int temp, decimalNumber;
      String hexaDecimal = "";
      char[] hexa = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
      Scanner sc = new Scanner(System.in);
      System.out.print("Please enter decimal number: ");
      decimalNumber = sc.nextInt();
      while(decimalNumber > 0)
      {
         temp = decimalNumber % 16;
         hexaDecimal = hexa[temp] + hexaDecimal;
         decimalNumber = decimalNumber / 16;
      }
      System.out.print("The hexadecimal value of is: " + hexaDecimal);
      sc.close();
   }
}


Output:

Please enter decimal number: 10
The hexadecimal value is: A


java program to convert decimal to hexadecimal using recursion

Let’s learn java program convert decimal to hexadecimal using recursion.

import java.util.Scanner;
class DecimalToHexaDemo 
{
   char[] charHexa = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
   int num;
   String strHex = "";
   String hexadecimal(int h)
   {   
      if(h != 0)
      {
         num = h % 16;
         strHex = charHexa[num] + strHex;
         h = h / 16;
         hexadecimal(h);  
      }
      return strHex;
   }
   public static void main(String[] args) 
   { 
      DecimalToHexaDemo obj = new DecimalToHexaDemo();
      int decimal;
      Scanner sc = new Scanner(System.in);   
      System.out.println("Please enter decimal number: ");
      decimal = sc.nextInt();
      System.out.println("Hexadecimal number is: ");
      String hex = obj.hexadecimal(decimal);               
      System.out.println(hex);
      sc.close();
   }
}


Output:

Please enter decimal number: 453
Hexadecimal number is: 1C5


Click here to learn vice versa of above java program to convert decimal to hexadecimal.


string to hexadecimal java

Now let’s learn how to convert a String to Hexadecimal java.

import java.util.Scanner;
public class StringToHexJava
{
   public static void main(String[] args)
   {
      Scanner sc = new Scanner(System.in);
      System.out.println("Please enter a string: ");
      String strInput = sc.next();
      StringBuffer sb = new StringBuffer();
      char[] chArray = strInput.toCharArray();
      for(int a = 0; a < chArray.length; a++)
      {
         String strHexadecimal = Integer.toHexString(chArray[a]);
         sb.append(strHexadecimal);
      }
      String strOutput = sb.toString();
      System.out.println(strOutput);
      sc.close();
   }
}


Output:

Please enter a string: flowerbrackets
666c6f776572627261636b657473