Проверял с другими числами, все работало правильно.
Подскажите, что не так, пожалуйста
package com.javarush.task.pro.task09.task0907;
import java.util.regex.Pattern;
/*
Шестнадцатеричный конвертер
*/
public class Solution {
private static final String HEX = "0123456789abcdef";
public static void main(String[] args) {
int decimalNumber = 1256;
System.out.println("Десятичное число " + decimalNumber + " равно шестнадцатеричному числу " + toHex(decimalNumber));
String hexNumber = "4e8";
System.out.println("Шестнадцатеричное число " + hexNumber + " равно десятичному числу " + toDecimal(hexNumber));
}
public static String toHex(int decimalNumber) {
String hexNum = "";
while (decimalNumber > 0) {
char index = HEX.charAt(decimalNumber%16);
hexNum = index + hexNum;
decimalNumber = decimalNumber/16;
}
return hexNum;
}
public static int toDecimal(String hexNumber) {
int decimal = 0;
for(int i = 0; i < hexNumber.length() && !hexNumber.isEmpty() && hexNumber != null; i++) {
int index = Character.getNumericValue(HEX.charAt(Character.getNumericValue(hexNumber.charAt(i))));
decimal = 16 * decimal + index;
}
return decimal;
}
}