Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
JavaRanch.com/granny.jsp
The moose likes Beginning Java and the fly likes Need help with creating a random array. Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Need help with creating a random array." Watch "Need help with creating a random array." New topic
Author

Need help with creating a random array.

Thomas Mullane
Greenhorn

Joined: Jan 29, 2012
Posts: 3
So first I had to create an insert method to place tracks into an array.. Got that easy enough.. Next I have to randomly mix up that array... Can get some of that but my last track is being duplicated a lot of the time.. I heed help to stop this! Here is my code!





list is the original array that the tracks were inserted into.
entryCount is the list length.
Stephan van Hulst
Bartender

Joined: Sep 20, 2010
Posts: 3989
    
  18

Hi Thomas,

Why don't you just use Lists instead of arrays? You will also be able to simply use the Collections.shuffle() method.


The mind is a strange and wonderful thing. I'm not sure that it will ever be able to figure itself out, everything else, maybe. From the atom to the universe, everything, except itself.
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 14956
    
  26

The standard Java library already has a method to shuffle a List: Collections.shuffle(list). If you need to shuffle an array, you can use Arrays.asList(array) to wrap the array as a list.

So to shuffle your array of Track objects you could just do:

If you need to implement this yourself (for example because it's homework and you're supposed to implement it yourself), see Fisher–Yates shuffle for an explanation of a good and simple shuffling algorithm.


Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 8 API documentation
 
Have you checked out Aspose?
 
subject: Need help with creating a random array.
 
It's not a secret anymore!