package com.donghao.anagram;
import java.util.Scanner;
public class AnagramApp {
static int size; static int count; static char[] arrChar = new char[100]; static int flag = 0; public static void main(String[] args){ System.out.println("Please enter a word"); Scanner scan = new Scanner(System.in); String input = scan.nextLine(); size = input.length(); count =0; for(int j=0;j<size;j++){ arrChar[j] = input.charAt(j); } doAnagram(size); } public static void doAnagram(int newSize){ if(newSize ==1) return; for(int j=0;j<newSize;j++){ doAnagram(newSize -1); //System.out.println("newSize:" + newSize); if(newSize ==2){ //System.out.println("flag:" + flag++); displayWord(); } rorate(newSize); } } public static void rorate(int newSize){ int j; int position = size - newSize; char temp = arrChar[position]; for(j=position+1;j<size;j++){ arrChar[j-1] = arrChar[j]; } arrChar[j-1] = temp; } public static void displayWord(){ if(count <99) System.out.print(" "); if(count <9) System.out.print(" "); System.out.print(++count + " "); for(int j=0;j<size;j++) System.out.print(arrChar[j]); System.out.print(" "); if(count % 6 ==0) System.out.println(" "); }}