Find the Shortest Word in a Sentence in Java
Finding the shortest word in a sentence means identifying the word with the minimum number of characters.
This problem helps improve understanding of string traversal, conditional checks, and basic logic building.
Understanding the Problem
Given a sentence, we need to:
- Extract each word from the sentence.
- Compare its length with the previously stored shortest word.
- Update the shortest word when a smaller one is found.
Example 1
Input: Java programming is fun
Output: is
Example 2
Input: Find the shortest word
Output: the
Logic Explanation
- Traverse the sentence character by character.
- Store characters of the current word.
- When a space is encountered, compare word length.
- Initialize shortest word when first word is found.
- Check the last word after the loop ends.
Java Program to Find the Shortest Word
import java.util.Scanner;
public class ShortestWordInSentence {
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 shortestWord = "";
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
if (ch != ' ') {
word = word + ch;
} else {
if (shortestWord.equals("") || word.length() < shortestWord.length()) {
shortestWord = word;
}
word = "";
}
}
// Check last word
if (!word.equals("") &&
(shortestWord.equals("") || word.length() < shortestWord.length())) {
shortestWord = word;
}
System.out.println("Shortest word: " + shortestWord);
}
}
Sample Output
Enter a sentence: Java programming is fun
Shortest word: is
Important Notes
- If multiple words have the same minimum length, the first one is returned.
- No use of
split()method. - Works with simple space-separated sentences.
Practice Challenges
- Modify the program to find all shortest words.
- Ignore punctuation marks while comparing words.
- Also print the length of the shortest word.
This program strengthens fundamental string handling and logical reasoning in Java.