Java Program to Sort Strings in Alphabetical Order

This article is created to cover a program in Java that sorts strings, entered by the user at runtime, in alphabetical order.

The question is: write a Java program to sort strings or names in alphabetical order. Strings must be received by the user at runtime. The program given below is its answer:

import java.util.Scanner;

public class CodesCracker
{
   public static void main(String[] args)
   {
      String[] names = new String[5];
      String temp;
      int i, j;
      Scanner scan = new Scanner(System.in);
      
      System.out.print("Enter 5 Names: ");
      for(i=0; i<5; i++)
         names[i] = scan.nextLine();
      
      // sorting names in alphabetical order
      for(i=0; i<5; i++)
      {
         for(j=1; j<5; j++)
         {
            if(names[j-1].compareTo(names[j])>0)
            {
               temp=names[j-1];
               names[j-1]=names[j];
               names[j]=temp;
            }
         }
      }
      
      System.out.println("\nNames in Alphabetical Order:");
      for(i=0;i<5;i++)
         System.out.println(names[i]);
   }
}

The snapshot given below shows the sample run of the above program with user input of Steven, Kevin, Kenneth, Andrew, and Anthony as five names to sort and print in alphabetical order:

Java Program sort string

Before closing this topic, I'm willing to include one more example that does the same job of sorting strings in alphabetical order in another way. I used a few comments to explain the main lines of code used in the following program.

Java Code
import java.util.Arrays;
import java.util.Scanner;

public class AlphabeticalSorter {

    public static void main(String[] args) {
        
        // create a Scanner object to read input from the user
        Scanner input = new Scanner(System.in);
        
        // get the list of strings from the user
        System.out.print("Enter a list of strings, separated by spaces: ");
        String inputString = input.nextLine();
        
        // split the input string into an array of strings
        String[] inputArray = inputString.split(" ");
        
        // sort the array in alphabetical order
        Arrays.sort(inputArray);
        
        // print the sorted array
        System.out.println("Sorted list of strings:");
        for (String str : inputArray) {
            System.out.println(str);
        }
    }

}
Output
Enter a list of strings, separated by spaces: pear apple banana orange
Sorted list of strings:
apple
banana
orange
pear

Same Program in Other Languages

Java Online Test


« Previous Program Next Program »


Liked this post? Share it!