Наставники , коллеги. Посмотрите пожалуйста мой код.
Преобразование строки с бинарными числами решил делать через массивы.
Создал массив типа String.
Два цикла for. Первый из которых будет равняться результату деления длинны строки на 4. Итого итераций будет 3.
Второй цикл запускаю для считывания 4-х значений в обратном порядке. С каждой итераций внешнего цикла длинна binaryNumber_lenght будет уменьшаться на 4.
По итогу хочу в каждую ячейку массива записать по 4 значения цифр, но вот проблема в том, что в ячейки массива ничего не записывается.
При выводе там null.
Подскажите пожалуйста, что делаю не так ...
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) {
//напишите тут ваш код
int tenth=0;
String res="";
int array_length = binaryNumber.length()/4;
int binaryNumber_lenght = binaryNumber.length();
String [] a = new String [array_length];
for (int b = 0; b<binaryNumber.length()/4; b++){
for (int i=0; i<4;i++){
int ind = binaryNumber_lenght-1-i;
a[b] = a[Character.getNumericValue(binaryNumber.charAt(ind))];
//res += Character.getNumericValue(binaryNumber.charAt(ind));
}
binaryNumber_lenght = binaryNumber_lenght-4;
}
//String result = Arrays.toString(a);
return a[0] + " ";
}
public static String toBinary(String hexNumber) {
//напишите тут ваш код
return null;
}
}