Код повністю компілюється і працює але валідаиор не пропускає
package ua.javarush.task.pro.task09.task0908;
import java.util.regex.Pattern;
/*
Двійково-шістнадцятковий конвертер
*/
//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
import java.util.HashMap;
/*
Двійково-шістнадцятковий конвертер
*/
public class Solution {
static HashMap<String, String> binHex = new HashMap<>();
static HashMap<String, String> hexBin = new HashMap<>();
public static void main(String[] args) {
binHex.put("0000", "0");
binHex.put("0001", "1");
binHex.put("0010", "2");
binHex.put("0011", "3");
binHex.put("0100", "4");
binHex.put("0101", "5");
binHex.put("0110", "6");
binHex.put("0111", "7");
binHex.put("1000", "8");
binHex.put("1001", "9");
binHex.put("1010", "a");
binHex.put("1011", "b");
binHex.put("1100", "c");
binHex.put("1101", "d");
binHex.put("1110", "e");
binHex.put("1111", "f");
hexBin.put("0", "0000");
hexBin.put("1", "0001");
hexBin.put("2", "0010");
hexBin.put("3", "0011");
hexBin.put("4", "0100");
hexBin.put("5", "0101");
hexBin.put("6", "0110");
hexBin.put("7", "0111");
hexBin.put("8", "1000");
hexBin.put("9", "1001");
hexBin.put("A", "1010");
hexBin.put("B", "1011");
hexBin.put("C", "1100");
hexBin.put("D", "1101");
hexBin.put("E", "1110");
hexBin.put("F", "1111");
String binaryNumber = "100111010000";
System.out.println("Двійкове число " + binaryNumber + " дорівнює шістнадцятковому числу " + toHex(binaryNumber));
String hexNumber = "9d0";
System.out.println("Шістнадцяткове число " + hexNumber + " дорівнює двійковому числу " + toBinary(hexNumber));
}
public static String toHex(String binaryNumber) {
if (binaryNumber == null || binaryNumber.isEmpty()) {
return "0d0";
}
StringBuilder binaryBuilder = new StringBuilder(binaryNumber);
while (binaryBuilder.toString().length() % 4 != 0) {
binaryBuilder.insert(0, "0");
}
StringBuilder hexBuilder = new StringBuilder();
for (int i = 0; i < binaryBuilder.length(); i = i + 4) {
hexBuilder.append(binHex.get(binaryBuilder.substring(i, i + 4)));
}
return hexBuilder.toString();
}
public static String toBinary(String hexNumber) {
if (hexNumber == null || hexNumber.isEmpty()) {
return "0";
}
StringBuilder binaryBuilder = new StringBuilder();
for(int i = 0; i < hexNumber.length(); i++) {
Character hexChar = hexNumber.charAt(i);
// Переводим каждую цифру шестнадцатеричного числа в двоичную
String binaryDigit = hexBin.get(String.valueOf(hexChar).toUpperCase());
// Добавляем эквивалент в двоичном виде в строку с двоичным числом
binaryBuilder.append(binaryDigit);
}
return binaryBuilder.toString();
}
}