Not sure if this is the right forum, or even the right site(!) but thought someone might be able to help me.

I want to develop a programme that would simulate how the NFL organises its schedule.

How it works is this:
2 Conferences with 4 Divisons in
Each Division has 4 teams. They play each other twice (3H, 3A)
They play one division from their conference (2H, 2A)
They play one division from other conference (2H, 2A)
They play the two teams in their conference who finished in the same position as them who they are not already playing 1st-1st, 2nd-2nd, etc. (1H, 1A)

Brings it to a total of 16 games, spread across 17 weeks (1 Bye week).

All the bye weeks happen between Week 4 and Week 10 (inclusive)

I know this isn't a specific Java problem, but as it's programming I thought I'd ask.

All I need to do is some code to 'randomise' the order they play in so that all teams satisfy the above criteria.

Any help would be greatly appriciated!