ребят мой код не проходит проверку хотя все работает. Если кто то найдет ошибку буду благодарен.
package com.javarush.task.pro.task09.task0908;

/*
Двоично-шестнадцатеричный конвертер
*/

import java.io.StreamTokenizer;
import java.util.*;

public class Solution {
    private static final String HEX = "0123456789abcdef";
    private static final String ABCD = "abcdef";

    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 doomy;
        int toDoom;
        String toDecimal = "";
        for (int i = 0; i < binaryNumber.length(); i++) {
            if (binaryNumber.charAt(i) - 48 > 1)
                return "";
        }
       while(binaryNumber.length() % 4 != 0) {
           binaryNumber = "0" + binaryNumber;
       }
       for (int i = 0; i < binaryNumber.length()/4; i++) {
           doomy = binaryNumber.substring(4 * i, 4 * i + 4);
           toDoom = 0;
           toDoom = Character.getNumericValue(doomy.charAt(0)) * 8 + Character.getNumericValue(doomy.charAt(1)) * 4 +
                   Character.getNumericValue(doomy.charAt(2)) * 2 + Character.getNumericValue(doomy.charAt(3)) * 1;
           if (toDoom > 9)
               toDecimal += HEX.substring(toDoom, toDoom + 1);
           else
               toDecimal += String.valueOf(toDoom);

       }
       binaryNumber = toDecimal;
        //напишите тут ваш код
        return binaryNumber;
    }

    public static String toBinary(String hexNumber) {
        String Binary = "";
        String temp = "";
        int Decimal;
        for (int i = 0; i < hexNumber.length(); i++) {
            if (hexNumber.charAt(i) < 48 || hexNumber.charAt(i) > 57 &&
                    hexNumber.charAt(i) < 97 || hexNumber.charAt(i) > 102)
                return "";
        }
            for (int j = 0; j < hexNumber.length(); j++) {
                if (hexNumber.charAt(j) > 96){
                    Decimal = (int) Math.pow(16, 0) * hexNumber.charAt(j) - 87;
                    while (Decimal != 0) {
                        temp += String.valueOf(Decimal % 2);
                        Decimal = Decimal / 2;
                    }
                    for (int i = temp.length(); i > 0; i--) {
                        Binary += temp.substring(i - 1, i);
                    }
                } else {
                    Decimal = (int) Math.pow(16,0) * hexNumber.charAt(j) - 48;
                    temp = " ";
                    while (temp.length() % 5 != 0) {
                        Binary += String.valueOf(Decimal % 2);
                        Decimal = Decimal / 2;
                        temp = temp + Decimal;
                    }
                    temp = "";
                }
            }
            hexNumber = Binary;
        //напишите тут ваш код
        return hexNumber;
    }
}