Find the Longest Word in a Sentence in Java
Finding the longest word in a sentence means identifying the word that contains the maximum number of characters.
This is a very common string problem in interviews and helps build a strong understanding of loops and string traversal.
Understanding the Problem
Given a sentence, we need to:
- Extract each word from the sentence.
- Compare its length with the previously stored longest word.
- Update the longest word when a bigger one is found.
Example 1
Input: Java programming is powerful
Output: programming
Example 2
Input: Find the longest word
Output: longest
Logic Explanation
- Traverse the sentence character by character.
- Store characters of the current word.
- When a space is encountered, compare word length.
- Update the longest word if required.
- Check the last word after the loop ends.
Java Program to Find the Longest Word
import java.util.Scanner;
public class LongestWordInSentence {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a sentence: ");
String str = sc.nextLine();
String word = "";
String longestWord = "";
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
if (ch != ' ') {
word = word + ch;
} else {
if (word.length() > longestWord.length()) {
longestWord = word;
}
word = "";
}
}
// Check last word
if (word.length() > longestWord.length()) {
longestWord = word;
}
System.out.println("Longest word: " + longestWord);
}
}
Sample Output
Enter a sentence: Java programming is powerful
Longest word: programming
Important Notes
- If multiple words have the same maximum length, the first one is returned.
- No use of
split()method. - Works for normal space-separated sentences.
Practice Challenges
- Modify the program to find all longest words.
- Ignore punctuation marks while finding the longest word.
- Also print the length of the longest word.
This problem is excellent for mastering string traversal and conditional logic in Java.