/**
 * <a href=http://www.softsite.com.br> (c) SoftSite Tecnologia </a>
 * Todos os direitos reservados <br>
 * <br>
 *
 * Classe utilitária para fazer leituras do teclado.
 *
 * @author 		 regismelo@softsite.com.br
 * @version 	 1.00
 *
 *
 */


import java.io.*;
import java.util.*;

public class Keyboard {
	

/* Variáveis Públicas */

/**
	Um instância dessa classe representa o teclado que pode ser lido.
	Dessa forma o usuário dessa classe não precisa instanciar o objeto 
	todas as vezes que ele for usado. Basta apenas usar Keyboard.in.metodo
*/
public static final Keyboard in = new Keyboard();


/* Variáveis Private */

private BufferedReader reader;


/** Construtor padrão */
public Keyboard() 
{
	
	// Inicializar o reader
	this.reader = new BufferedReader(new InputStreamReader(System.in));
}
	
/** Ler uma string do teclado até o enter */
public String readString() 
{
	String aString;
	
	System.out.flush(); // Certificar que todo o output foi zerado
	
	try 
	{
		aString = this.reader.readLine();
	} catch (Exception e) {
		aString = "";
	}
	return aString;
}

/** Ler um inteiro do teclado e esperar um enter */	
public int readInteger() 
{
	String		aString;
	int			anInteger;
	
	System.out.flush(); // Certificar que todo o output foi zerado
		
	aString = this.readString();
	try {
		anInteger = Integer.parseInt(aString);
	} catch (Exception e) {
		anInteger = -1;
	}
	return anInteger;
	
}

/** Ler um float do teclado */	
public float readFloat() {
	
	String		aString;
	Float		aFloat;
	
	System.out.flush(); // Certificar que todo o output foi zerado
	
	aString = this.readString();
	try {
		aFloat = new Float(aString);
	} catch (Exception e) {
		aFloat = null;
	}
	return aFloat.floatValue();
}
	
/** Exibir uma mensagem e esperar um Enter */
public void pause( String message ) {
	String aString;
	
	System.out.print( message );
	
	System.out.flush(); // Certificar que todo o output foi zerado
	
	try {
		aString = this.reader.readLine();
	} catch (Exception e) 
	{}
}

/** Exibir uma mensagem padrão de espera */
public void pause()
{
	pause( "Pressione Enter para continuar..." );	
	
	ArrayList a;
	
}
	


	
}
