import java.util.HashSet; /** * This class implements a technical support system. * It is the top level class in this project. * The support system communicates via text input/output * in the text terminal. * * This class uses an object of class InputReader to read input * from the user, and an object of class Responder to generate responses. * It contains a loop that repeatedly reads input and generates * output until the users wants to leave. * * @author David J. Barnes and Michael Kölling. * @version 2011.07.31 */ public class SupportSystem { private InputReader reader; private Responder responder; /** * Creates a technical support system. */ public SupportSystem() { reader = new InputReader(); responder = new Responder(); } /** * Start the technical support system. This will print a welcome message and enter * into a dialog with the user, until the user ends the dialog. */ public void start() { boolean finished = false; printWelcome(); while(!finished) { HashSet input = reader.getInput(); if(input.contains("bye")) { finished = true; } else { String response = responder.generateResponse(input); System.out.println(response); } } printGoodbye(); } /** * Print a welcome message to the screen. */ private void printWelcome() { System.out.println("Welcome to the DodgySoft Technical Support System."); System.out.println(); System.out.println("Please tell us about your problem."); System.out.println("We will assist you with any problem you might have."); System.out.println("Please type 'bye' to exit our system."); } /** * Print a good-bye message to the screen. */ private void printGoodbye() { System.out.println("Nice talking to you. Bye..."); } }