Michael Thomas Flanagan's Java Scientific Library

KeyboardInput Class:      Input from the Keyboard

     

Last update: 23 July 2007
Main Page of Michael Thomas Flanagan Java Scientific Library

This class contains easy to use methods for entering numbers and characters, of the following types, from the keyboard:
  • floating point, double;
  • floating point, float;
  • arbitrary precision, BigDecimal;
  • complex number, Complex;
  • phasor, Phasor;
  • true or false, boolean
  • line, a String terminated by a new line return;
       
  • integer, int;
  • long integer, long;
  • big integer, BigInteger;
  • short integer, short;
  • byte integer, byte;
  • character, char;
import directive: import flanagan.io.KeyboardInput;
Related classes:

SUMMARY OF CONSTRUCTOR AND METHODS

Constructor public KeyboardInput()
Enter a number General comments for all types
Enter a double floating point number (double) public final synchronized double readDouble(String prompt)
public final synchronized double readDouble(String prompt, double dflt)
public final synchronized double readDouble()
Enter a float floating point number (float) public final synchronized float readFloat(String prompt)
public final synchronized float readFloat(String prompt, float dflt)
public final synchronized float readFloat()
Enter a BigDecimal (BigDecimal) public final synchronized BigDecimal readBigDecimal(String prompt)
public final synchronized BigDecimal readBigDecimal(String prompt, BigDecimal dflt)
public final synchronized BigDecimal readBigDecimal(String prompt, double dflt)
public final synchronized BigDecimal readBigDecimal(String prompt, float dflt)
public final synchronized BigDecimal readBigDecimal(String prompt, long dflt)
public final synchronized BigDecimal readBigDecimal(String prompt, int dflt)
public final synchronized BigDecimal readBigDecimal(String prompt, String dflt)
public final synchronized BigDecimal readBigDecimal()
Enter an integer (int) public final synchronized int readInt(String prompt)
public final synchronized int readInt(String prompt, int dflt)
public final synchronized int readInt()
Enter a long integer (long) public final synchronized long readLong(String prompt)
public final synchronized long readLong(String prompt, long dflt)
public final synchronized long readLong()
Enter a big integer (BigInteger) public final synchronized BigInteger readBigInteger(String prompt)
public final synchronized BigInteger readBigInteger(String prompt, BigInteger dflt)
public final synchronized BigInteger readBigInteger(String prompt, long dflt)
public final synchronized BigInteger readBigInteger(String prompt, int dflt)
public final synchronized BigInteger readBigInteger(String prompt, String dflt)
public final synchronized BigInteger readBigInteger()
Enter a short integer (short) public final synchronized short readShort(String prompt)
public final synchronized short readShort(String prompt, short dflt)
public final synchronized short readShort()
Enter a byte integer (byte) public final synchronized byte readByte(String prompt)
public final synchronized byte readByte(String prompt, byte dflt)
public final synchronized byte readByte()
Enter a character (char) public final synchronized char readChar(String prompt)
public final synchronized char readChar(String prompt, char dflt)
public final synchronized char readChar()
Enter true or false (boolean) public final synchronized boolean readBoolean(String prompt)
public final synchronized boolean readBoolean(String prompt, char dflt)
public final synchronized boolean readBoolean()
Enter a line of text (String) public final synchronized String readLine(String prompt)
public final synchronized String readLine(String prompt, String dflt)
public final synchronized String readLine()
Enter a complex number (Complex) public final synchronized Complex readComplex(String prompt)
public final synchronized Complex readComplex(String prompt, Complex dflt)
public final synchronized Complex readComplex(String prompt, String dflt)
public final synchronized Complex readComplex()
Enter a phasor (Phasor) public final synchronized Phasor readPhasor(String prompt)
public final synchronized Phasor readPhasor(String prompt, Phasor dflt)
public final synchronized Phasor readPhasor(String prompt, String dflt)
public final synchronized Phasor readPhasor()

METHODS

CONSTRUCTOR
public KeyboardInput()
Usage:                      KeyboardInput kb = new KeyBoardInput();
Creates a new instance of Keyboard for easy input from the keyboard.

ENTERING A NUMBER, CHARACTER OR STRING
General Usage:
                     x = kb.readXxxx(prompt);

This method prints a prompt message, e.g. "Enter an integer value" to the screen. The number, character or String, xxxx, should then be entered. This method does not offer a default option (see below).
                     x = kb.readXxxx(prompt, dflt);
This method prints to screen a prompt message, e.g. "Enter an integer value" follwed by the statement "[default value is 'dflt' ]" where 'dflt' is the value of dflt. The number, character or String, xxxx, should then be entered. If no value is entered, i.e. the return (enter) key alone is pressed, the default value of xxxx, dflt, is returned (in the above example, to x).
                     x = kb.readXxxx();
The number, character or String, xxxx, should then be entered after the 'flashing' cursor as this method does not print a prompt message or offer a default option. This method is useful if a more complicated prompt message than can be accomodated by the prompt argument has preceded its call.

ENTERING A double FLOATING POINT NUMBER (double)
public final synchronized double readDouble(String prompt)
public final synchronized double readDouble(String prompt, double dflt)
public final synchronized double readDouble()

Usage:
                     double x = kb.readDouble(prompt);

                     double x = kb.readDouble(prompt, dflt);
                     double x = kb.readDouble();
A method for entering a floating point number, of type double, from the keyboard. For details of prompt and dflt, see 'Entering a number . . .(above).

ENTERING A float FLOATING POINT NUMBER (float)
public final synchronized float readFloat(String prompt)
public final synchronized float readFloat(String prompt, float dflt)
public final synchronized float readFloat()

Usage:
                     float x = kb.readFloat(prompt);

                     float x = kb.readFloat(prompt, dflt);
                     float x = kb.readFloat();
A method for entering a floating point number, of type float, from the keyboard. For details of prompt and dflt, see 'Entering a number . . .(above).

ENTERING A BigDecimal (BigDecimal)
public final synchronized BigDecimal readBigDecimal(String prompt)
public final synchronized BigDecimal readBigDecimal(String prompt, BigDecimal dflt)
public final synchronized BigDecimal readBigDecimal(String prompt, double dflt)
public final synchronized BigDecimal readBigDecimal(String prompt, float dflt)
public final synchronized BigDecimal readBigDecimal(String prompt, long dflt)
public final synchronized BigDecimal readBigDecimal(String prompt, int dflt)
public final synchronized BigDecimal readBigDecimal(String prompt, String dflt)
public final synchronized BigDecimal readBigDecimal()
Usage:
                     BigDecimal x = kb.readBigDecimal(prompt);

                     BigDecimal x = kb.readBigDecimal(prompt, dflt);
                     BigDecimal x = kb.readBigDecimal();
A method for entering a BigDecimal, from the keyboard. Enter the number using the standard convention, e.g. 1.23456, -4.3257, 4.3976e7, 9.52398e-5, 3456, -123456789. The default value may be entered as a BigDecimal, double, float, long, int or as a String. For details of prompt and dflt, see 'Entering a number . . .(above).

ENTERING AN INTEGER (int)
public final synchronized int readInt(String prompt)
public final synchronized int readInt(String prompt, int dflt)
public final synchronized int readInt()

Usage:
                     int x = kb.readInt(prompt);

                     int x = kb.readInt(prompt, dflt);
                     int x = kb.readInt();
A method for entering an integer, of type int, from the keyboard. For details of prompt and dflt, see 'Entering a number . . .(above).

ENTERING AN LONG INTEGER (long)
public final synchronized long readLong(String prompt)
public final synchronized long readLong(String prompt, long dflt)
public final synchronized long readLong()

Usage:
                     long x = kb.readLong(prompt);

                     long x = kb.readLong(prompt, dflt);
                     long x = kb.readLong();
A method for entering an integer, of type long, from the keyboard. For details of prompt and dflt, see 'Entering a number . . .(above).

ENTERING A BIG INTEGER (BigInteger)
public final synchronized BigInteger readBigInteger(String prompt)
public final synchronized BigInteger readBigInteger(String prompt, BigInteger dflt)
public final synchronized BigInteger readBigInteger(String prompt, long dflt)
public final synchronized BigInteger readBigInteger(String prompt, int dflt)
public final synchronized BigInteger readBigInteger(String prompt, String dflt)
public final synchronized BigInteger readBigInteger()
Usage:
                     BigInteger x = kb.readBigInteger(prompt);

                     BigInteger x = kb.readBigInteger(prompt, dflt);
                     BigInteger x = kb.readBigInteger();
A method for entering a floating point number, of type BigInteger, from the keyboard. Enter the number using the standard convention, e.g. 3456, -123456789. The default value may be entered as a BigInteger, long, int or as a String. For details of prompt and dflt, see 'Entering a number . . .(above).

ENTERING AN SHORT INTEGER (long)
public final synchronized short readShort(String prompt)
public final synchronized short readShort(String prompt, short dflt)
public final synchronized short readShort()

Usage:
                     short x = kb.readShort(prompt);

                     short x = kb.readShort(prompt, dflt);
                     short x = kb.readShort();
A method for entering an integer, of type short, from the keyboard. For details of prompt and dflt, see 'Entering a number . . .(above).

ENTERING AN BYTE INTEGER (byte)
public final synchronized byte readByte(String prompt)
public final synchronized byte readByte(String prompt, byte dflt)
public final synchronized byte readByte()

Usage:
                     byte x = kb.readByte(prompt);

                     byte x = kb.readByte(prompt, dflt);
                     byte x = kb.readByte();
A method for entering an integer, of type byte, from the keyboard. For details of prompt and dflt, see 'Entering a number . . .(above).

ENTERING A CHARACTER (char)
public final synchronized char readChar(String prompt)
public final synchronized char readChar(String prompt, char dflt)
public final synchronized char readChar()

Usage:
                     char x = kb.readChar(prompt);

                     char x = kb.readChar(prompt, dflt);
                     char x = kb.readChar();
A method for entering a character, of type char, from the keyboard. If more than a single character is typed, all but the first character will be ignored. Leading spaces will also be ignored. For details of prompt and dflt, see 'Entering a number . . .(above).

ENTERING TRUE AND FALSE (boolean)
public final synchronized boolean readBoolean(String prompt)
public final synchronized boolean readBoolean(String prompt, char dflt)
public final synchronized boolean readBoolean()

Usage:
                     boolean x = kb.readBoolean(prompt);

                     boolean x = kb.readBoolean(prompt, dflt);
                     boolean x = kb.readBoolean();
A method for entering true or false, of type boolean, from the keyboard. For details of prompt and dflt, see 'Entering a number . . .(above).

ENTERING A LINE OF TEXT (String)
public final synchronized String readLine(String prompt)
public final synchronized String readLine(String prompt, String dflt)
public final synchronized String readLine()

Usage:
                     String x = kb.readLine(prompt);

                     String x = kb.readLine(prompt, dflt);
                     String x = kb.readLine();
A method for entering a line of text from the keyboard. The method will accept data until a new line return ('\n') is met. The line of text is returned as a String. The line of text may include spaces. For details of prompt and dflt, see 'Entering a number . . .(above).

ENTERING A COMPLEX NUMBER (Complex)
public final synchronized Complex readComplex(String prompt)
public final synchronized Complex readComplex(String prompt, Complex dflt)
public final synchronized Complex readComplex(String prompt, String dflt)
public final synchronized Complex readComplex()

Usage:
                     Complex x = kb.readComplex(prompt);

                     Complex x = kb.readComplex(prompt, dflt);
                     Complex x = kb.readComplex();
A method for entering a Complex number from the keyboard. The user may enter a complex number in one of the following formats:
x+jy    x+iy    x + jy    x + iy    x-jy    x-iy    x - jy    x - iy            e.g. 2.3e-5 - j0.453
The default value may be entered as a Complex variable or as a String using one of the above formats. For details of prompt and dflt, see 'Entering a number . . .(above).

ENTERING A PHASOR (Phasor)
public final synchronized Phasor readPhasor(String prompt)
public final synchronized Phasor readPhasor(String prompt, Phasor dflt)
public final synchronized Phasor readPhasor(String prompt, String dflt)
public final synchronized Phasor readPhasor()

Usage:
                     Phasor x = kb.readPhasor(prompt);

                     Phasor x = kb.readPhasor(prompt, dflt);
                     Phasor x = kb.readPhasor();
A method for entering a Phasor from the keyboard. The user may enter a Phasor in one of the following formats:
x<y    xLy    x<ydeg    xLydeg    x<yrad    xLyrad        e.g. 3.0e2<22.78deg
where x is the magnitude and y is the phase. The first four formats accept the phase in degrees, the latter two formats accept the phase in radians. The default value may be entered as a Phasor variable or as a String using one of the above formats. For details of prompt and dflt, see 'Entering a number . . .(above).



OTHER CLASSES USED BY THIS CLASS

This class uses the following classes in this library:



This page was prepared by Dr Michael Thomas Flanagan