We help IT Professionals succeed at work.

# code for a pattern

on
433 Views
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

## View Solution Only

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

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.

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.
Principal 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

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.

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();
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)

Commented:
CEHJ  Thanks for the help.

rgds,
Christopher
CERTIFIED EXPERT
Top Expert 2016

Commented:
8-)
Unlock the solution to this question.