nwpulq

KeyboardInput类---载自《java软件开发》Russel Winder & Graham Roberts

import java.io.*;
/**
 * A simple input class to read values typed at the command line.   If
 * an error occurs during intput, any exceptions thrown are caught and
 * a default value returned.
 *
 * @version 1.1 1998.08.18
 * @author Graham Roberts
 * @author Russel Winder
 */
public class keyboardInput {
  /**
   *  The buffered stream that works the keyboard so that we can read
   *  from it sensibly
   */
  private final BufferedReader in =
          new BufferedReader(new InputStreamReader(System.in));
  /**
   *  Read an <CODE>int</CODE> value from keyboard input. The default
   *  return value is 0.
   */
  public final synchronized int readInteger() {
      String input = "";
      int value = 0;
      try {
          input = in.readLine();
      }
      catch (IOException e) { }
      if (input != null) {
          try {
              value = Integer.parseInt(input);
          }
          catch (NumberFormatException e) { }
      }
      return value;
  }
  /**
   *  Read a <CODE>long</CODE> value from keyboard input. The default
   *  return value is 0L.
   */
  public final synchronized long readLong() {
      String input = "";
      long value = 0L;
      try {
          input = in.readLine();
      }
      catch (IOException e) { }
      if (input != null) {
          try {
              value = Long.parseLong(input);
          }
          catch (NumberFormatException e) { }
      }
      return value;
  }
  /**
   *  Read a <CODE>double</CODE> value from keyboard input.  The default
   *  return value is 0.0
   */
  public final synchronized double readDouble() {
      String input = "";
      double value = 0.0D;
      try {
          input = in.readLine();
      }
      catch (IOException e) { }
      if (input != null) {
          try {
              value = Double.parseDouble(input);
          }
          catch (NumberFormatException e) { }
      }
      return value;
  }
  /**
   *  Read a <CODE>float</CODE> value from keyboard input.  The default
   *  return value is 0.0F
   */
  public final synchronized float readFloat() {
      String input = "";
      float value = 0.0F;
      try {
          input = in.readLine();
      }
      catch (IOException e) { }
      if (input != null) {
          try {
              value = Float.parseFloat(input);
          }
          catch (NumberFormatException e) { }
      }
      return value;
  }
  /**
   *  Read a <CODE>char</CODE> value from keyboard input.  The default
   *  return value is ' ' (space)
   */
  public final synchronized char readCharacter() {
      char c = ' ';
      try {
          c = (char)in.read();
      }
      catch (IOException e) { }
      return c;
  }
  /**
   *  Read a <CODE>String</CODE> value from keyboard input.  The default
   *  return value is "" (the empty string).
   */
  public final synchronized String readString() {
      String s = "";
      try {
          s = in.readLine();
      }
      catch (IOException e) { }
      if (s == null) {
          s = "";
      }
      return s;
  }
}

posted on 2009-02-18 13:46  李奇  阅读(412)  评论(1编辑  收藏  举报

导航