Създавам проста програма за преобразуване на двоични числа в шестнадесетични, без използването на методите, предоставени от Java за това. Вече имам по-голямата част от кода си, просто имам проблем с моя метод "разделен низ".
По принцип всичко, което се опитвам да направя в този метод, е
1) Вземете низ (двоично число)
2) Създайте масив от низове, за да задържите "групите" от числа
3) Разделете двоичното число на групи от 4 цифри (напр. 10011101 = 1001, 1101)
4) Връща масива от групи
Въпреки това, когато използвам моя метод, винаги отнема само 3 за първия елемент в моя масив "groupings". (напр. трябва да бъде "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;
}
toSplit.substring(start, end+1)
вместоtoSplit.substring(start, end)
- person Fahim Parkar   schedule 27.01.2012