FileDocCategorySizeDatePackage
FactQuoter.javaAPI DocExample1445Sat Jun 02 02:41:08 BST 2001None

FactQuoter.java

// This example is from _Java Examples in a Nutshell_. (http://www.oreilly.com)
// Copyright (c) 1997 by David Flanagan
// This example is provided WITHOUT ANY WARRANTY either expressed or implied.
// You may study, use, modify, and distribute it for non-commercial purposes.
// For any commercial use, see http://www.davidflanagan.com/javaexamples

import java.io.*; // Import all classes in java.io package.  Saves typing.

/**
 * This program displays factorials as the user enters values interactively
 **/
public class FactQuoter {
  public static void main(String[] args) throws IOException {
    // This is how we set things up to read lines of text from the user.
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    // Loop forever
    for(;;) {
      // Display a prompt to the user
      System.out.print("FactQuoter> ");
      // Read a line from the user
      String line = in.readLine();
      // If we reach the end-of-file, or if the user types "quit", then quit
      if ((line == null) || line.equals("quit")) break;
      // Try to parse the user's input, and compute and print the factorial
      try { 
        int x = Integer.parseInt(line);
        System.out.println(x + "! = " + Factorial4.factorial(x)); 
      }
      // If anything goes wrong, display a generic error message
      catch(Exception e) { System.out.println("Invalid Input"); }
    }
  }
}