import java.lang.*;
import java.io.*;

/**
 * Classe Entrada
 * Permite a entrada de informacoes pelo o dispositivo de entrada padrao (teclado)
 * @author Gerson Cavalheiro
 * @version 1.0
 */

public class Entrada {
        /**
         * Construtor: Define entrada padrao o teclado
         */
        public Entrada() {}

        /**
         *  Le uma cadeia de carcteres (string) do teclado, com echo no video
         *  Entrada: nenhuma
         *  Saida: String lida
         */
	public String gets()
	{
		BufferedReader keyboard; 
		String str;

		keyboard = new BufferedReader(new InputStreamReader(System.in));
		try{
			str=keyboard.readLine();
		}
		catch(IOException e){
			System.out.println(e);
			return null;
		}
	  return str;
	}
	
        /**
         *  Le um valor interio (int) do teclado, com echo no video
         *  Entrada: nenhuma
         *  Saida: int lido
         */
	public int geti(){
		int i=0;
		
		String aux = this.gets();
		try{
		  i = Integer.parseInt(aux);
		}catch(NumberFormatException	e){
			 System.err.println(e.getMessage());
			 e.printStackTrace();
		}
	  return(i);
	}

        /**
         *  Le um valor em ponto flutuante (double) do teclado, com echo no video
         *  Entrada: nenhuma
         *  Saida: double lido
         */
	public double getd(){
		double d=0.0;
		
		String aux = this.gets();
		try{
		  d = Double.parseDouble(aux);
		}catch(NumberFormatException	e){
			 System.err.println(e.getMessage());
			 e.printStackTrace();
		}
	  return(d);
	}
}

