Find the Shortest Word in a Sentence in Java — Definition, Examples and Program

Learn how to find the shortest word in a sentence in Java using a simple character-by-character approach without using split() or advanced string methods.

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:

Example 1

Input: Java programming is fun

Output: is

Example 2

Input: Find the shortest word

Output: the

Logic Explanation

  1. Traverse the sentence character by character.
  2. Store characters of the current word.
  3. When a space is encountered, compare word length.
  4. Initialize shortest word when first word is found.
  5. 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

Practice Challenges

  1. Modify the program to find all shortest words.
  2. Ignore punctuation marks while comparing words.
  3. Also print the length of the shortest word.

This program strengthens fundamental string handling and logical reasoning in Java.