import java.util.Scanner;

/**
 * CS 149 Exercise 6.3 Magic 8-Ball.
 *
 * @author
 * @version
 */
public class EightBall {

   /**
    * Displays the given prompt, followed by "[yes/no]: ". Returns true if the
    * next line of user input is "y" or "yes" ignoring case, false otherwise.
    *
    * @param in the Scanner to use
    * @param prompt the text to display
    * @return true if yes, false if no
    */
   public static boolean inputYesNo(Scanner in, String prompt) {
   }

   /**
    * Gets the next question from the user. The length of the question must be
    * between 1 and 60 characters, and the question must end with a '?'. This
    * method keeps asking the user for a question until they enter a valid one.
    *
    * @param in the Scanner to use
    * @param prompt the text to display
    * @return the user's question
    */
   public static String getQuestion(Scanner in, String prompt) {
   }

   /**
    * Simulate a Magic 8-Ball. Original code by Arch Harris and Nancy Harris.
    *
    * @param args command-line arguments
    */
   public static void main(String[] args) {
      Scanner in = new Scanner(System.in);
      System.out.println("Magic 8-Ball");

      // run the program as long as the user wants
      while (inputYesNo(in, "\nDo you want to ask a question? ")) {

         // get the next question
         String question = getQuestion(in, "What is your question? ");
         System.out.println();

         // pick a random answer
         String answer;
         int randInt = (int) (Math.random() * 20 + 1);
         switch (randInt) {
            case 1:
               answer = "Signs point to yes.";
               break;
            case 2:
               answer = "Yes.";
               break;
            case 3:
               answer = "Reply hazy, try again.";
               break;
            case 4:
               answer = "Without a doubt.";
               break;
            case 5:
               answer = "My sources say no.";
               break;
            case 6:
               answer = "As I see it, yes.";
               break;
            case 7:
               answer = "You may rely on it.";
               break;
            case 8:
               answer = "Concentrate and ask again.";
               break;
            case 9:
               answer = "Outlook not so good.";
               break;
            case 10:
               answer = "It is decidedly so.";
               break;
            case 11:
               answer = "Better not tell you now.";
               break;
            case 12:
               answer = "Very doubtful.";
               break;
            case 13:
               answer = "Yes - definitely.";
               break;
            case 14:
               answer = "It is certain.";
               break;
            case 15:
               answer = "Cannot predict now.";
               break;
            case 16:
               answer = "Most likely.";
               break;
            case 17:
               answer = "Ask again later.";
               break;
            case 18:
               answer = "My reply is no.";
               break;
            case 19:
               answer = "Outlook good.";
               break;
            case 20:
               answer = "Don't count on it.";
               break;
            default:
               answer = "HUH?";
               break;
         }

         // output the results
         System.out.printf("Question: %s\n", question);
         System.out.printf("  Answer: %s\n", answer);
      }
      System.out.println("Goodbye!");
   }

}

