Anagram in Java

Write a Program in Java to input a word and print its anagrams.
import java.util.*;
class Anagrams
{
    int c = 0;
   
    void input()
    {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a word : ");
        String s = sc.next();
        System.out.println("The Anagrams are : ");
        display("",s);
        System.out.println("Total Number of Anagrams = "+c);
    }//input
 
    void display(String s1, String s2)
    {
        if(s2.length()<=1)
        {
            c++;
            System.out.println(s1+s2);
        }
        else
        {
            for(int i=0; i<s2.length(); i++)
            {
                String x = s2.substring(i, i+1);
                String y = s2.substring(0, i);
                String z = s2.substring(i+1);
                display(s1+x, y+z);
            }
        }
    }//display
   
    public static void main(String args[])
    {
        Anagrams ob=new Anagrams();
        ob.input();
    }//main
}//End of class
OUTPUT---
Enter a word : ANIK
The Anagrams are :
ANIK
ANKI
AINK
AIKN
AKNI
AKIN
NAIK
NAKI
NIAK
NIKA
NKAI
NKIA
IANK
IAKN
INAK
INKA
IKAN
IKNA
KANI
KAIN
KNAI
KNIA
KIAN
KINA
Total Number of Anagrams = 24

Comments

Popular posts from this blog

Sort Boundary Elements Of A Matrix

Lucky Number In Java ISC

Program to fill a square matrix of size ‘n*n” in a circular fashion (clockwise) with natural numbers from 1 to n*n, taking ‘n’ as input.