
import java.io.*;
import java.text.*;

public class Input{

  public  void pause()
	{
		System.out.println("(Press ENTER key to continue...)");
		String s = readString();
	}
  public  int readInt()
	{
		int k;
		k = readInt("");
		return k;
	}

  public  long readLong()
	{
		long k;
		k = readLong("");
		return k;
	}

  public  double readDouble()
	{
		double k;
		k = readDouble("");
		return k;
	}
  public  float readFloat()
	{
		float k;
		k = readFloat("");
		return k;
	}


  public  String readString()
	{
		String k;
		k = readString("");
		return k;
	}
  public  char readChar()
        {
                char k;
                k = readChar("");
                return k;
        }

  public  int readInt(String prompt) {
    boolean done = false;
    String s;
    int i=0;
    while (!done) {
	if (prompt != "")
	{
      System.out.print(prompt+ ":  ");
	}
      System.out.flush(); 
      try {
        BufferedReader in = new BufferedReader (
                              new InputStreamReader(System.in));
        s = in.readLine();
        i = Integer.parseInt(s);
        done = true; 
      }catch (IOException e){
        done = true;
      }catch (NumberFormatException e1){ 
	        System.out.println("Invalid Entry");
      }  
    } 
    return i;
  }
  public  long readLong(String prompt) {
    boolean done = false;
    String s;
    long i=0;
    while (!done) {
	if (prompt != "")
        {
      System.out.print(prompt+ ":  ");
        }   
      System.out.flush(); 
      try {
        BufferedReader in = new BufferedReader (
                              new InputStreamReader(System.in));
        s = in.readLine();
        i =  Long.parseLong(s);
        done = true; 
      }catch (IOException e){
        done = true;
      }catch (NumberFormatException e1){ 

	        System.out.println("Invalid Entry");
      }  
    } 
    return i;
  } 
  public  double readDouble(String prompt) {
    boolean done = false;
    String s;
    double d=0;
    while (!done) {

	if (prompt != "")
        {
      System.out.print(prompt+ ":  ");
        }   
      System.out.flush(); 
      try {
        BufferedReader in = new BufferedReader (
                              new InputStreamReader(System.in));
        s = in.readLine();
        d = new Double(s).doubleValue();
        done = true; 
      }catch (IOException e){
        done = true;
      }catch (NumberFormatException e1){ 
	        System.out.println("Invalid Entry");
     }  
    } 
    return d;
  } 
  public  float readFloat(String prompt) {
    boolean done = false;
    String s;
    float f = 0;
    while (!done) {

	if (prompt != "")
        {
      System.out.print(prompt+ ":  ");
        }   
      System.out.flush(); 
      try {
        BufferedReader in = new BufferedReader (
                              new InputStreamReader(System.in));
        s = in.readLine();
        f = new Float(s).floatValue();
        done = true; 
      }catch (IOException e){
        done = true;
      }catch (NumberFormatException e1){ 
	        System.out.println("Invalid Entry");
     }  
    } 
    return f;
  } 
  public  char readChar(String prompt) {
    boolean done = false;
    String s;
    char c = ' ';
    while (!done) {
	if (prompt != "")
        {
      System.out.print(prompt+ ":  ");
        }   
      System.out.flush(); 
      try {
        BufferedReader in = new BufferedReader (
                              new InputStreamReader(System.in));
        s = in.readLine();
        if (s.length() >0)
          c =  s.charAt(0);
        done = true; 
      }catch (IOException e){
        done = true;
      }
    } 
    return c;
  } 
  public  String readString(String prompt) {
    boolean done = false;
    String s = "";
    while (!done) {
	if (prompt != "")
        {
      System.out.print(prompt+ ":  ");
        }   
      System.out.flush(); 
      try {
        BufferedReader in = new BufferedReader (
                              new InputStreamReader(System.in));
        s = in.readLine();
        done = true; 
      }catch (IOException e){
        done = true;
      }
    } 
    return s;
  } 

  public static  void main(String [] args) {
      Input inp = new Input();
    System.out.println(inp.readString("Enter a string "));
    System.out.println(inp.readInt("Enter an integer "));
    System.out.println(inp.readLong("Enter a long without an L suffix "));
    System.out.println(inp.readChar("Enter a single character"));
    float f = inp.readFloat("Enter a float ");
    System.out.println(f);
    pause();
    double d = inp.readDouble("Enter a double ");
    System.out.println(d);
  }

} 

