Как перевернуть слова в предложении, используя Java - PullRequest
0 голосов
/ 13 октября 2019

Я пытаюсь перевернуть строку, например, переполнение стека в переполнение стека , но мой код переворачивает всю строку, например, "привет" в "оллех" .

Я хочу перевернуть строку, но не могу найти правильный результат. Мне нужны предложения по улучшению моего кода, чтобы найти желаемый результат.

Код, который я пробовал:

public static String reverseString(String str)
    {
        if (str.isEmpty())
            return str;
        //Calling Function Recursively
        return reverseString(str.substring(1)) + str.charAt(0);
    }

Ответы [ 2 ]

1 голос
/ 13 октября 2019

Примерно так:

public String getReversed(String text){
    List<String> wordList = Arrays.asList(text.split("\\s+"));
    Collections.reverse(wordList);
    return String.join(" ", wordList);
}
1 голос
/ 13 октября 2019

1 - просто использовать метод srting split для заданной строки.

2 - сохранить вывод в массив.

3 - переместить массив в обратном направлении.

    String a = "stack overflow abc";
    String[] b = a.split("\\s+");
    for(int i = b.length-1 ; i>= 0 ; i--) {
        System.out.println(b[i]);
    }
...