Java Programs: Conversion to Binary using
Recursion
1. Hexadecimal to Binary (Recursion)
import [Link].*;
class HexToBinary
{
String hex;
HexToBinary()
{
hex = "";
}
void accept()
{
Scanner sc = new Scanner([Link]);
[Link]("Enter a hexadecimal number: ");
hex = [Link]().toUpperCase();
}
String convert(int index)
{
if (index == [Link]())
return "";
char ch = [Link](index);
String bin = "";
switch(ch)
{
case '0': bin = "0000"; break;
case '1': bin = "0001"; break;
case '2': bin = "0010"; break;
case '3': bin = "0011"; break;
case '4': bin = "0100"; break;
case '5': bin = "0101"; break;
case '6': bin = "0110"; break;
case '7': bin = "0111"; break;
case '8': bin = "1000"; break;
case '9': bin = "1001"; break;
case 'A': bin = "1010"; break;
case 'B': bin = "1011"; break;
case 'C': bin = "1100"; break;
case 'D': bin = "1101"; break;
case 'E': bin = "1110"; break;
case 'F': bin = "1111"; break;
}
return bin + convert(index + 1);
}
void display()
{
String result = convert(0);
[Link]("Binary equivalent: " + result);
}
public static void main(String args[])
{
HexToBinary obj = new HexToBinary();
[Link]();
[Link]();
}
}
2. Octal to Binary (Recursion)
import [Link].*;
class OctalToBinary
{
String oct;
OctalToBinary()
{
oct = "";
}
void accept()
{
Scanner sc = new Scanner([Link]);
[Link]("Enter an octal number: ");
oct = [Link]();
}
String convert(int index)
{
if (index == [Link]())
return "";
char ch = [Link](index);
String bin = "";
switch(ch)
{
case '0': bin = "000"; break;
case '1': bin = "001"; break;
case '2': bin = "010"; break;
case '3': bin = "011"; break;
case '4': bin = "100"; break;
case '5': bin = "101"; break;
case '6': bin = "110"; break;
case '7': bin = "111"; break;
}
return bin + convert(index + 1);
}
void display()
{
String result = convert(0);
[Link]("Binary equivalent: " + result);
}
public static void main(String args[])
{
OctalToBinary obj = new OctalToBinary();
[Link]();
[Link]();
}
}