Как найти самое длинное слово в строке на java?

Пользователь

от rodger.botsford , в категории: Java , 3 года назад

Как найти самое длинное слово в строке на java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от NicolasSsh , 3 года назад

@rodger.botsford  Вы можете использовать перебор массива, сравнивая ранее полученный самый больший результат с ныне-проверяемым.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
class Main {
    public static void main(String[] args) throws Exception {
        String[] words_array = new String[]{"Shining", "The Green Mile", "A bag of bones"};
        int max_len_index = 0; // Берём первоначальную самую длинную строку с индексом 0


        for (int i = 0; i < words_array.length; i++) {
            if (words_array[i].length() > words_array[max_len_index].length()) {
                max_len_index = i;               
            }
        }

        System.out.println(words_array[max_len_index]); // Вывод : The Green Mile
    }
} 

Пользователь

от hoyt.jerde , год назад

@rodger.botsford 

Существует несколько способов решения этой задачи. Один из них:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
public static String findLongestWord(String sentence) {
    String[] words = sentence.split("\s+");
    String longestWord = "";
    for (String word : words) {
        if (word.length() > longestWord.length()) {
            longestWord = word;
        }
    }
    return longestWord;
}


В этом коде мы сначала разбиваем строку sentence на слова с помощью метода split, используя пробелы как разделители. Затем мы проходим по всем словам и сравниваем их длины. Если длина текущего слова больше чем длина longestWord, то мы обновляем значение longestWord.


Пример использования:

1
2
3
String sentence = "The quick brown fox jumps over the lazy dog";
String longestWord = findLongestWord(sentence);
System.out.println("The longest word is: " + longestWord); // "The longest word is: jumps"