Guest User

String Enumeration

a guest
Sep 11th, 2014
441
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.01 KB | None | 0 0
  1. //Discussion see:
  2. //https://cs.stackexchange.com/questions/29841/enumerate-all-possible-strings-over-alphabet/
  3.  
  4. import java.util.*;
  5.  
  6. public class Test {
  7.     public static void main(String[] args) {      
  8.         String[] alpha = {"a", "b", "c"};
  9.         int i = alpha.length;
  10.         while(i < 30) {
  11.             Integer[] rep = getAryRep(i, alpha.length);
  12.             if(rep[0] == 1) {
  13.                 i++;
  14.             } else {
  15.                 i += alpha.length;
  16.                 continue;
  17.             }
  18.             StringBuilder b = new StringBuilder();
  19.             for(int j = 1; j < rep.length; j++)
  20.                 b.append(alpha[rep[j]]);  
  21.  
  22.             for(int j = 0; j <= b.length(); j++)
  23.                 System.out.printf("<%s, %s>%n", b.substring(0, j), b.substring(j));
  24.  
  25.             System.out.println();
  26.         }
  27.     }
  28.     public static Integer[] getAryRep(int nr, int ary) {
  29.         ArrayList<Integer> res = new ArrayList<>();
  30.         while(nr >= ary) {
  31.             res.add(nr % ary);
  32.             nr /= ary;
  33.         }
  34.         res.add(nr % ary);
  35.         Collections.reverse(res);
  36.         return (Integer[]) res.toArray(new Integer[res.size()]);
  37.     }    
  38. }
Advertisement
Add Comment
Please, Sign In to add comment