ravikoda.usa
BAN USERit works any string like abcd or abcdef
package com.rk.core.java;
/**
* A program that prints all combinations of a n letter word without using
* recursion technique.
*
* @author rkoda
*
*/
public class ABCDCombinations {
private void logic(String str) {
char charArr[] = new char[str.length()];
// convert into array
for (int i = 0; i < charArr.length; i++) {
charArr[i] = str.charAt(i);
}
// find total combinations
int tc = 1;
for (int i = 1; i <= charArr.length; i++) {
tc = tc * i;
}
System.out.println("total combinations : " + tc);
System.out.println(str);
int j = 0;
for (int i = 0; i < tc - 1; i++) {
char x = charArr[j+1];
charArr[j + 1] = charArr[j];
charArr[j] = x;
j++;
if (j + 1 == charArr.length) {
j = 0;
}
for (int k = 0; k < charArr.length; k++) {
System.out.print(charArr[k]);
}
System.out.println();
}
}
public static void main(String[] args) {
new ABCDCombinations().logic("abcd");
}
}
please review my code and let me know if any enhancement is required
- ravikoda.usa January 19, 2015