     
import java.util.*;

public class StringArrayActor extends Object
{
  private String[] aaList;
  private String[] aaTemp;

  //--------------------------------------------
  public StringArrayActor(String[] stringList)
  {
    this.aaList = stringList;
    this.aaTemp = new String[this.aaList.length];
  } //-- constr: (String)

  //--------------------------------------------
  public void setArray(String[] aaArray)
    { this.aaList = aaArray; }


  //--------------------------------------------
  public StringBuffer getStringBuffer()
  {
    StringBuffer sReturn = new StringBuffer("");
    for (int ii = 0; ii < this.aaList.length; ii++)
      { sReturn.append(this.aaList[ii] + "\n"); }

    return sReturn;
  } //-- method: getStringBuffer

  //--------------------------------------------
  public void scramble()
  {
    int iRandom;
    ArrayList arlMap = new ArrayList();

    for (int ii = 0; ii < this.aaList.length; ii++)
      { arlMap.add(new Integer(ii)); }


    for (int ii = 0; ii < this.aaList.length; ii++)
    {
      iRandom = (int)(Math.random() * (aaList.length - ii));
      System.out.println("Random = " + iRandom);
      int iIndex = ((Integer)arlMap.get(iRandom)).intValue();
      System.out.println("Index = " + iIndex);
      this.aaTemp[iIndex] = this.aaList[ii];
      arlMap.remove(iRandom);
    } //-- for
    this.aaList = this.aaTemp;
  } //-- method: scramble

  //--------------------------------------------
  public static void main(String[] args) throws Exception
  {
    
    String[] aaList =
     {
      "big", "small", "loud", "quiet",
      "apple", "orange", "peach", "pear"
     };
    StringArrayActor saaActor = new StringArrayActor(aaList);
    String sMessage = new String(
      "                                         \n" +
      "TESTING CLASS: StringArrayActor()        \n" +
      "---------------------------------------- \n" +
      " Initial array                           \n" +
      saaActor.getStringBuffer());
    saaActor.scramble();
    sMessage +=
      "New Array after scrambling    \n" +
      saaActor.getStringBuffer();

    System.out.println(sMessage);
  } //-- main()
} //-- StringArrayActor class
