import java.util.*;

/**
 * Magic 8 Ball - simulates the working of a Magic 8 Ball
 *
 * @author Michael Norton and <your name here>
 * @version Oct 1 2007
 */
public class EightBall
{
	// declarations
	private Random generator;

	public static final int MAX = 10; // you can change this if you
	                                  // want

	// use these finals for your Magic8Ball answers
	public static final String ANSWER01 = "You're kidding, right?";
	public static final String ANSWER02 = "Read my lips...";
	public static final String ANSWER03 = "Sure, why not?";
	public static final String ANSWER04 = "The answer is within you.";
	public static final String ANSWER05 = "Get Real!";
	public static final String ANSWER06 = "But of course!";
	public static final String ANSWER07 = "What have you been smoking?";
	public static final String ANSWER08 = "New to Earth, are you?";
	public static final String ANSWER09 = "That's for me to know and you " +
	  "to find out";
	public static final String ANSWER10 = "Why are you asking me?";
	public static final String ERROR_MSG = "Huh?";

	/**
	 * Constructor - initialize and instantiate the instance variables
	 */
	public EightBall()
	{
		generator = new Random();
		
	} // constructor

	/**
	 * Generate a random number between 1 and MAX and return the phrase 
	 * corresponding to it using a switch/case structure. Use the String
	 * finals above, with the ERR_MSG final as the default case.
	 *
	 * @return a random string
	 */
	public String shakeEightBall01()
	{
		int randomNum;
		String randomString;
		
		randomNum = generator.nextInt( MAX );

		switch( randomNum )
		{
			case 0:
				randomString = ANSWER01;
				break;
			case 1:
				randomString = ANSWER02;
				break;
			case 2:
				randomString = ANSWER03;
				break;
			case 3:
				randomString = ANSWER04;
				break;
			case 4:
				randomString = ANSWER05;
				break;
			case 5:
				randomString = ANSWER06;
				break;
			case 6:
				randomString = ANSWER07;
				break;
			case 7:
				randomString = ANSWER08;
				break;
			case 8:
				randomString = ANSWER09;
				break;
			case 9:
				randomString = ANSWER10;
				break;
			default:
				randomString = ERROR_MSG;
			
		} // end switch

		return randomString;

	} // method shakeEightBall01

	/**
	 * Generate a random number between 1 and MAX and return the phrase 
	 * corresponding to it using nested if/elses. Use the String finals
	 * above, with the ERR_MSG as the last else (default) case.
	 *
	 * @return a random String
	 */
	public String shakeEightBall02()
	{
		int randomNum;
		String randomString;
		
		randomNum = generator.nextInt( MAX );
		
		if ( randomNum == 0 )
			randomString = ANSWER01;
		else if ( randomNum == 1 )
			randomString = ANSWER02;
		else if ( randomNum == 2 )
			randomString = ANSWER03;
		else if ( randomNum == 3 )
			randomString = ANSWER04;
		else if ( randomNum == 4 )
			randomString = ANSWER05;
		else if ( randomNum == 5 )
			randomString = ANSWER06;
		else if ( randomNum == 6 )
			randomString = ANSWER07;
		else if ( randomNum == 7 )
			randomString = ANSWER08;
		else if ( randomNum == 8 )
			randomString = ANSWER09;
		else if ( randomNum == 9 )
			randomString = ANSWER10;
		else 
			randomString = ERROR_MSG;
			
		return randomString;

	} // method shakeEightBall02

} // class EightBall
