code for a pattern

If I wanted to be able to recreate a pattern like   1,2,3,4,1,3,2,4,3,4,5,4,2,5,1,6,4,1,7,3,2,5,8  some thing like this is there a way to do this..This is way over my head....
Drop_of_RainAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
CEHJConnect With a Mentor Commented:
This is a bit more organized:

  static void printRows() {
    final int INDEX_LIMIT = 8;
            final int BATCH_LENGTH_LIMIT = 8;
    final int BATCH_SIZE = 4;
    final int NUM_BATCH_GROUPS = 4;
    int batchLength = 4;
            // Disallow duplicates by using a Set
    Set numbers = new HashSet();
    for (int batchGroup = 0; batchGroup < NUM_BATCH_GROUPS; batchGroup++) {
                  // Add numbers if more needed
      while (numbers.size() < batchLength && batchLength < BATCH_LENGTH_LIMIT) {
        numbers.add(new Integer((int)(Math.random()  * INDEX_LIMIT) + 1));
      }
      for (int batchSize = 0; batchSize < BATCH_SIZE; batchSize++) {
        java.util.List list = new ArrayList(numbers);
                        // Shuffle and print
        Collections.shuffle(list);
        System.out.println(list);
      }
      batchLength++;
      System.out.println();
    }
  }
0
 
CEHJCommented:
This is a very mysterious question Drop_of_Rain, but i'll try to crack the riddle of the sphyinx:

are you saying you want to produce a random sequence of numbers within a particular range? If so, please name that range
0
 
Drop_of_RainAuthor Commented:
I was looking for a pattren to use.  1,2,3,4    1,3,2,4  center numbered reversed 3,4,5,6,   3,6,4,5 end numbereds  reversed. Rotate from one group to the other 1,5,2,4, front to rear next set inside 4,6,1,3, then in for a new set of numbers like 4,6,1,3 through the numbers then go random.

I think this should be easier.
0
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

 
Drop_of_RainAuthor Commented:
You can create whatever cycles you can recognize   It would be great to think of a way for it to be able to create its own patterns through a random choice that would create the new pattern. I hope you understand what I am trying to say.
0
 
Mayank SAssociate Director - Product EngineeringCommented:
Is your set-size constant (equal to 4)?
0
 
CEHJCommented:
>>I hope you understand what I am trying to say.

Not exactly ;-) If what you are saying is that you need to create a 'random' order, but one that recognizes and reproduces patterns, then you're looking at something pretty complex, maybe AI-based. If you want random sets in batches, then that's trivial
0
 
Drop_of_RainAuthor Commented:
If that is good. Would it be able to have it change it itself like to 5 after one cycle. That would mix it up pretty good as well. Like as the total number like 1-8 has been reached the set-size could change. It would be great if I could change that set-size through checkboxs as well. or after a certain total number has been reached it is changed.

All of these would be great to have in the program and others that you think would be good. This in the the creative mode at this point.
0
 
Drop_of_RainAuthor Commented:
NO we are in control of the pattern just using a system    abcd then d=b abcd then c=a then abcd then efgh then  something like I just did a is a variable. Would something like this work. You can create varibles through varibles right.
0
 
CEHJCommented:
Maybe something like this?


      static void printRows() {
            final int INDEX_LIMIT = 8;
            final int BATCH_SIZE = 4;
            final int NUM_BATCH_GROUPS = 8;
            int batchLength = 4;
            Set numbers = new HashSet();
            // Add numbers
            for (int batchGroup = 0; batchGroup < NUM_BATCH_GROUPS; batchGroup++) {
                  while (numbers.size() < batchLength) {
                        numbers.add(new Integer((int)(Math.random()  * INDEX_LIMIT) + 1));
                  }
                  for (int batchSize = 0; batchSize < BATCH_SIZE; batchSize++) {
                        java.util.List list = new ArrayList(numbers);
                        Collections.shuffle(list);
                        System.out.println(list);
                  }
                  batchLength++;
                  System.out.println();
            }
      }
0
 
CEHJCommented:
Nasty little bug in that sorry. Replace while statement with

      while (numbers.size() < batchLength && numbers.size() < INDEX_LIMIT) {
0
 
Drop_of_RainAuthor Commented:
CEHJ  Thanks for the help.

rgds,
Christopher
0
 
CEHJCommented:
8-)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.