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
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
Post a Comment