Программа удаляет пробелы
Всем привет Я написал программу которая делает анаграмму введенного текста, и проблема в том, что при выводе готовой анаграммы пропадает пробел например: String input = "qwe asd", String completeAnagram = "ewqdsa"
public String reverseWords(String input) {
String oneOrMoreSpaces = "\\s";
String[] words = input.split(oneOrMoreSpaces);
String completeAnagram = "";
for (int i = 0; i < words.length; i++) {
char[] symbol = words[i].toCharArray();
char newSymbolSequence;
int j = symbol.length - 1, k = 0;
while (k < j) {
if (!Character.isLetter(symbol[k]))
k++;
else if (!Character.isLetter(symbol[j]))
j--;
else {
newSymbolSequence = symbol[k];
symbol[k] = symbol[j];
symbol[j] = newSymbolSequence;
k++;
j--;
}
}
completeAnagram = completeAnagram + new String(symbol;
}
return completeAnagram;
}
Помогите исправить
Ответы (2 шт):
Автор решения: azlov
→ Ссылка
completeAnagram += new String(symbol) + " "; // вы можете добавлять пробел после каждого слова (прошедшего обработку)
при возвращении результата не забудьте удалить последний пробел
Автор решения: Azurro
→ Ссылка
public static String reverseWords(String input) {
String oneOrMoreSpaces = "\\s";
String[] words = input.split(oneOrMoreSpaces);
StringBuilder completeAnagram = new StringBuilder();
for (String word : words) {
char[] symbol = word.toCharArray();
char newSymbolSequence;
int j = symbol.length - 1, k = 0;
while (k < j) {
if (!Character.isLetter(symbol[k]))
k++;
else if (!Character.isLetter(symbol[j]))
j--;
else {
newSymbolSequence = symbol[k];
symbol[k] = symbol[j];
symbol[j] = newSymbolSequence;
k++;
j--;
}
}
completeAnagram.append(new String(symbol)).append(" ");
}
return completeAnagram.toString().trim();
}