Problem written by Chris Piech.
The idea behind an 8-Ball is very simple. You ask the eight ball a yes or no question, and it tells you the answer.
Except, that the answer it choses is randomly selected from a set of prefabricated responses.
A real life 8-Ball
Write a program that continuously prompts the user for a yes or no question, and then randomly selects from 5 canned answers:
Here is an example run of the program.
To generate random numbers create a RandomGenerator instance variable (a variable declared outside all methods) like so:
private RandomGenerator rgen = new RandomGenerator();
You can then use the variable to generate random numbers.
rgen.nextInt(max) //generates a random int in the range [0, max)
/*** Class: Eight Ball* -----------------* Simulates an eight ball and gives sage answers to yes or* no questions.*/public class EightBall extends ConsoleProgram {private static RandomGenerator rg = new RandomGenerator();public void run() {while(true) {readLine("Ask a yes or no question: ");int choice = rg.nextInt(5);println(choice);if(choice == 0) {println("Without a doubt");}if(choice == 1) {println("Yes");}if(choice == 2) {println("Ask again later.");}if(choice == 3) {println("No");}if(choice == 4) {println("Karel thinks so.");}println("");}}}