# coder2539@gmail.com

This program converts decimals to hexadecimal , octal or binary
Coder
java
2 years ago
1.9 kB
1
Indexable
Never
```import java.util.*;
/*this java program converts a binary number to
*/
public class Main
{
public static void main(String[] args)
{

Scanner scan = new Scanner(System.in);
try{
System.out.print("Enter decimal number: ");
long val = scan.nextLong();

int choice = scan.nextInt();
if(choice == 1){
System.out.println(val+" in octal is "+toOctal(val));
}
else if(choice == 2){
}else if(choice == 3){

System.out.println(val+" in binary is "+toBin(val));
}else{
System.out.println("No such option");
}
}catch(InputMismatchException ex){System.err.println("invalid request");}
}

//converts to binary
public static String toBin(long val)
{

String remainders="";
while (val >= 1)
{
remainders += val % 2;
val /= 2;

}
remainders+="b0";
return new StringBuilder(remainders).reverse().toString();
}
public static String toHex(Long val)
{
String remainder="";
int DoubleRemainder =0;
HashMap<Integer,String>hash = new HashMap<>(6);
hash.put(10, "a");
hash.put(11, "b");
hash.put(12, "c");
hash.put(13, "d");
hash.put(14, "e");
hash.put(15, "f");

while (val >= 1)
{
DoubleRemainder = (int)(val % 16);
if (DoubleRemainder >= 10)
{
remainder += hash.get(DoubleRemainder);
}
else
{
remainder += val % 16;
}
val /= 16;
}
remainder +="x0";

return new StringBuilder(remainder).reverse().toString();
}
//converts to octal
public static String toOctal(long val){

String remainder="";
while(val >= 1){
remainder += val%8;
val/=8;
}
remainder+="o0";
return new StringBuilder(remainder).reverse().toString();
}

}```