Это программа кодирования длин серий для назначения наших партнеров.
Мы пытаемся выполнить инструкцию по Javadoc. Пока что мы имеем это, но путаем с параметром индекса
* Read the next run (or single character) and return the index of the symbol following the run (or symbol read).
* Store the count and symbol for the run in the run parameter.
* @param line - the input line being processed
* @param index - the index of the first character in the next "run" (which might be just a single character)
* @param run - where to store the symbol and count for the Run
* @return the index of the symbol following the run just read
*/
static int getNext(String line, int index, Run run) {
line.charAt(index); //char first, something about a line
return ?.symbol;//Store values
run.count= ?.count; //the given number of that specific symbol or repetition
enter code here
run.symbol= ?.symbol; //whatever symbol you first see
// TO BE COMPLETED
return index+1;// just to make it advance so starter program doesn't loop infinitely
}
}
1 ответ
Это не фактическая функция сжатия RLE, а вспомогательная функция для подсчета повторений текущего символа, который обрабатывается основной функцией сжатия RLE.
То, что это, кажется, нужно сделать, это:
- Взять персонажа по указателю
index
строкиline
и сохраните его в соответствующем свойстве объекта Run. - Перебирать символы в
line
следующий индексindex
До тех пор, пока вы не встретите тот, который не равен тому, который вы взяли в начале. - Сохраните количество найденных повторений в соответствующем свойстве объекта Run.
- Вернуть позицию в строке, в которой встречался неравный символ.