In: Computer Science
Display the shortest words in a sentence in JAVA
Write a method that displays all the shortest words in a given sentence. You are not allowed to use array
In the main method, ask the user to enter a sentence and call the method above to display all the shortest words in a given sentence.
You must design the algorithms for both the programmer-defined method and the main method.
Program Code Screenshot :

Sample Output :

Program Code to Copy
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
class Main{
static void displayShortest(String s){
//Split the sentence
String words[] = s.split(" ");
//Initialize a new list to store shortest words
List<String> shortest = new ArrayList<>();
//Initialize shortest words list
int sl = Integer.MAX_VALUE;
//Loop through all words
for(String word : words){
//If length of the word is lower than shortest length obtained so far
if(word.length()<sl){
//Create a new list and add
shortest = new ArrayList<>();
sl = word.length();
shortest.add(word);
}
//If word length is same as the shortest length obtained, add to list
else if(word.length()==sl){
shortest.add(word);
}
}
//Print to console
System.out.println("Shortest words are : "+shortest);
}
public static void main(String[] args) {
System.out.println("Enter a sentence");
Scanner obj = new Scanner(System.in);
String s = obj.nextLine();
displayShortest(s);
}
}