Я создаю простую программу для преобразования двоичных чисел в шестнадцатеричные, без использования методов, предоставляемых Java для этого. У меня уже есть большая часть кода, но у меня просто проблемы с моим методом «разделенной строки».
В основном все, что я пытаюсь сделать в этом методе, это
1) Взять в строку (двоичное число)
2) Создать массив строк для хранения «групп» чисел
3) Разбить двоичное число на группы по 4 цифры (например, 10011101 = 1001, 1101)
4) Вернуть массив группировок
Однако при использовании моего метода всегда требуется только 3 для первого элемента в моем массиве "группировки". (например, должно быть «1001», но только «100»). Что я тут не так делаю?
public String[] splitIntoFours (String toSplit) {
int stringPart = 4;
int arraySize = toSplit.length() / 4;
String[] groupings = new String[arraySize];
for (int iterator = 0; (iterator * stringPart) < toSplit.length(); iterator++){
//If statement to deal with the inital case of the iterator being 0,
//where this algorithm only takes the first 3 numbers instead of a
//sequence of 4 numbers.
int start = iterator * stringPart;
int end = start + stringPart;
if (end > toSplit.length()) {
end = toSplit.length();
}
groupings[iterator] = toSplit.substring(start, end);
}
return groupings;
}