We help IT Professionals succeed at work.

code for a pattern

Drop_of_Rain
Drop_of_Rain asked
on
433 Views
Last Modified: 2010-03-31
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....
Comment
Watch Question

CERTIFIED EXPERT
Top Expert 2016

Commented:
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

Author

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.

Author

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.
Mayank SPrincipal Technologist
CERTIFIED EXPERT

Commented:
Is your set-size constant (equal to 4)?
CERTIFIED EXPERT
Top Expert 2016

Commented:
>>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

Author

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.

Author

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.
CERTIFIED EXPERT
Top Expert 2016

Commented:
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();
            }
      }
CERTIFIED EXPERT
Top Expert 2016

Commented:
Nasty little bug in that sorry. Replace while statement with

      while (numbers.size() < batchLength && numbers.size() < INDEX_LIMIT) {
CERTIFIED EXPERT
Top Expert 2016
Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION

Author

Commented:
CEHJ  Thanks for the help.

rgds,
Christopher
CERTIFIED EXPERT
Top Expert 2016

Commented:
8-)
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.