Подскажите пожалуйста, что не так? Пишет, что не реализована проверка, хотя у меня все проверяется
package com.javarush.task.pro.task09.task0908;
import java.util.regex.Pattern;
public class Solution {
private static final String HEX = "0123456789abcdef";
public static void main(String[] args) {
String binaryNumber = "100111010000";
System.out.println("Двоичное число " + binaryNumber + " равно шестнадцатеричному числу " + toHex(binaryNumber));
String hexNumber = "9d0";
System.out.println("Шестнадцатеричное число " + hexNumber + " равно двоичному числу " + toBinary(hexNumber));
}
public static String toHex(String binaryNumber) {//перевод в шестнадцатиричную
String hexNumber = "";
int decimalNumber = 0;
if (binaryNumber == null) { //если строка пустая, то возвращаем пустое значение
return hexNumber;
}
for (int i = 0; i < binaryNumber.length(); i++) {
if (!(String.valueOf(binaryNumber.charAt(i))).equals("0") && !(String.valueOf(binaryNumber.charAt(i))).equals("1")) { //если символ НЕ равен 0 или 1 возвращаем пустую строку
return hexNumber;
}
}
for (int i = 0; i < binaryNumber.length(); i++) { //переводим в десятичную СС
decimalNumber += Character.getNumericValue(binaryNumber.charAt(binaryNumber.length() - 1 - i)) * Math.pow(2, i); //получаем числовое значение из строки с поощью метода gerNumericValue
}
while (decimalNumber != 0) {//переводим в 16-ричную. CC
hexNumber = HEX.charAt(decimalNumber % 16) + hexNumber;
decimalNumber = decimalNumber / 16;
}
return hexNumber;
}
public static String toBinary(String hexNumber) {
String binaryNumber = "";
int decimalNumber = 0;
if (hexNumber == null) { //если строка пустая, то возвращаем пустое значение
return binaryNumber;
}
for (int i = 0; i < hexNumber.length(); i++) {
if (hexNumber.charAt(i) < '0' && hexNumber.charAt(i) > '9' && hexNumber.charAt(i) < 'a' && hexNumber.charAt(i) > 'f') {
return "";
}
}
for (int i = 0; i < hexNumber.length(); i++) {
decimalNumber = 16 * decimalNumber + HEX.indexOf(hexNumber.substring(i, i + 1));
}
while (decimalNumber > 0) {
binaryNumber = decimalNumber % 2 + binaryNumber;
decimalNumber = decimalNumber / 2;
}
return binaryNumber;
}
}