Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Algorithms.recursion;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- /**
- * Created by Ruslan Zhdan on 30.05.2016.
- */
- public class AnagramApp
- {
- static int size;
- static int count;
- static char[] arrCharr = new char[100];
- public static void main(String[] args) throws IOException
- {
- System.out.print("Enter a word: ");
- String input = getString();
- size = input.length();
- count = 0;
- for (int j = 0; j < size; j++)
- arrCharr[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);
- if (newSize == 2)
- displayWord();
- rotate(newSize);
- }
- }
- public static void rotate(int newSize)
- {
- int j;
- int position = size - newSize;
- char temp = arrCharr[position];
- for (j = position+1; j < size; j++)
- arrCharr[j-1] = arrCharr[j];
- arrCharr[j-1] = temp;
- }
- public static void displayWord()
- {
- if (count < 99)
- System.out.print(" ");
- if (count < 9)
- System.out.print(" ");
- System.out.println(++count + " ");
- for (int j = 0; j < size; j++)
- System.out.print(arrCharr[j]);
- System.out.print(" ");
- System.out.flush();
- if (count % 6 == 0)
- System.out.println("");
- }
- public static String getString() throws IOException
- {
- InputStreamReader isr = new InputStreamReader(System.in);
- BufferedReader br = new BufferedReader(isr);
- String s = br.readLine();
- return s;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement