JavaAlgorithms/Conversions/OctalToHexadecimal.java

63 lines
1.4 KiB
Java
Raw Normal View History

package Conversions;
import java.util.Scanner;
/**
* Converts any Octal Number to HexaDecimal
*
* @author Tanmay Joshi
*/
2018-03-31 07:02:10 +08:00
public class OctalToHexadecimal {
2020-10-24 18:23:28 +08:00
/**
* This method converts a Octal number to a decimal number
*
* @param s The Octal Number
* @return The Decimal number
*/
public static int octToDec(String s) {
int i = 0;
for (int j = 0; j < s.length(); j++) {
char num = s.charAt(j);
num -= '0';
i *= 8;
i += num;
}
2020-10-24 18:23:28 +08:00
return i;
}
/**
* This method converts a Decimal number to a Hexadecimal number
*
* @param d The Decimal Number
* @return The Hexadecimal number
*/
public static String decimalToHex(int d) {
String digits = "0123456789ABCDEF";
if (d <= 0) return "0";
String hex = "";
while (d > 0) {
int digit = d % 16;
hex = digits.charAt(digit) + hex;
d = d / 16;
}
2020-10-24 18:23:28 +08:00
return hex;
}
2020-10-24 18:23:28 +08:00
public static void main(String args[]) {
2020-10-24 18:23:28 +08:00
Scanner input = new Scanner(System.in);
System.out.print("Enter the Octal number: ");
// Take octal number as input from user in a string
String oct = input.next();
2020-10-24 18:23:28 +08:00
// Pass the octal number to function and get converted deciaml form
int decimal = octToDec(oct);
2020-10-24 18:23:28 +08:00
// Pass the decimla number to function and get converted Hex form of the number
String hex = decimalToHex(decimal);
System.out.println("The Hexadecimal equivalant is: " + hex);
input.close();
}
}