Są dwa wyjścia:
- Domyślam się, że stały ciąg źródłowy wpisałeś do testów, a docelowo będzie pobierać od użytkownika. Po prostu po pobraniu ciągu dopisujesz po jednym znaku
|
z obu stron i przetwarzasz znaki od drugiego do przedostatniego. Zanim wypiszesz ciąg docelowy, obcinasz pierwszy i ostatni znak. - Fragment pobierający 3 znaki do analizy wystarczy przerobić na takie coś:
char prev = (j > 0) ? input.charAt(j - 1) : '|'; char act = input.charAt(j); char next = (j < (input.length() - 1)) ? input.charAt(j + 1) : '|';