title: How to "shuffle" an array?
body: <p>I am having a tough time trying to create a "shuffleDeck()" method.</p>
  
  <p>What I am trying to do is create a method that will take an array parameter (which will be the deck of cards) shuffle the cards, and return the shuffled array list. </p>
  
  <p>This is the code:</p>
  
  <pre><code>class Card
  {
      int value;
      String suit;
      String name;
  
      public String toString()
      {
          return (name + " of " + suit);
      }
  }
  
  public class PickACard
  {
      public static void main( String[] args)
      {   
          Card[] deck = buildDeck();
          // display Deck(deck); 
  
          int chosen = (int)(Math.random()* deck.length);
          Card picked = deck[chosen];
  
          System.out.println("You picked a " + picked + " out of the deck.");
          System.out.println("In Blackjack your card is worth " + picked.value + " points.");
  
      }
  
      public static Card[] buildDeck()
      {
          String[] suits = {"clubs", "diamonds", "hearts", "spades" };
          String[] names = {"ZERO", "ONE", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "Jack", "Queen", "King", "Ace" };
  
          int i = 0;
          Card[] deck = new Card[52];
  
          for ( String s: suits )
          {   
              for ( int v = 2; v&lt;=14; v++)
              {
                  Card c = new Card();
                  c.suit = s;
                  c.name = names[v];
                  if ( v == 14)
                      c.value = 11;
                  else if ( v&gt;10)
                      c.value = 10;
                  else
                      c.value = v; 
  
                  deck[i] = c;
                  i++;
              }
          }
          return deck; 
      }
  
      public static String[] shuffleDeck( Card[] deck) 
      {
          /** I have attempted to get two index numbers, and swap them. 
          I tried to figure out how to loop this so it kind of simulates "shuffling". 
          */
      }
  
      public static void displayDeck( Card[] deck)
      {
          for ( Card c: deck) 
          {   
              System.out.println(c.value + "\t" + c);
          }
      }
  }
  </code></pre>