Ребят, помогите пожалуйста с написагием этой задачи!!! Как определить последовательность выполнения задачи? (из 2-ой в 16-ую) просто поломал мозг . Подсмтрел решение, но там тоже ад какой-то. Разжуйте пожалуйста! Буду очень признателн! Моих знаний точно пока не хватает в решении этой задачи.
package com.javarush.task.pro.task09.task0908;
import java.util.regex.Pattern;
/*
Двоично-шестнадцатеричный конвертер
*/
public class Solution {
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) {
// Если входящий параметр — пустая строка или null, то оба метода возвращают пустую строку.
String binary = "";
if (binaryNumber == null || binaryNumber.equals("")){
return "";
}
//Если входящий параметр метода toHex(String) содержит любой символ, кроме 0 или 1,
//то метод возвращает пустую строку.
for (int i = 0; i < binaryNumber.length(); i++) {
if (binaryNumber.charAt(i) != 0 || binaryNumber.charAt(i) != 1) {
return "";
}
//Проверяем длину строки, полученной входящим параметром. Она должна быть кратна 4.
return binary;
}
public static String toBinary(String hexNumber) {
//напишите тут ваш код
return null;
}
}
Для преобразования двоичной записи в шестнадцатеричную необходимо разбить входящую строку с двоичной записью на группы по 4 символа (бита), затем каждую группу заменить на соответствующую шестнадцатеричную цифру: