/**
*Programme cree par The Clusters
*Classe de lecture de l'entree standard
*Cree suite a des problemes avec les scanner
*@author The Clusters
*@version 1.0
**/

package chkoba;
import chkoba.*;
import java.io.*;

/**
*	Classe Lire
*/

final public class Lire extends Object
{

    public static String chaine()
	{
		int erreur = -1;
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		String s = new String("");

		while (erreur == -1)
		{
			try
			{
				s = in.readLine();
				erreur = 0;
			}
			catch (IOException e)
			{
				System.out.println("erreur : saisissez une chaine");
			}
        }
		return s;
	}

//-----------------------------------------------------------------------
    public static char charactere()
	{
		char resultat = 0;
		int erreur = -1;

		while (erreur == -1)
		{
			try
			{
				resultat = chaine().charAt(0);
				erreur=0;
			}
			catch (StringIndexOutOfBoundsException e)
			{
				System.out.println("erreur : saisissez un caractere !");
				resultat=(char)0;
				erreur=-1;
			}

          }
		return resultat;
	}

	
	public static Integer integer()
	{
		Integer resultat = new Integer(0);
		int erreur = -1;

		while (erreur == -1)
		{
			try
			{
				resultat = new Integer(chaine());
				erreur = 0;
			}
			catch (NumberFormatException e)
			{
				System.out.println("erreur : saisissez un nombre Integer entre "+Integer.MIN_VALUE+" et "+Integer.MAX_VALUE);
			}
		}
		return resultat;
	}
	
//-----------------------------------------------------------------------
    public static int entier()
	{
		int resultat = 0;
		int erreur = -1;

		while (erreur == -1)
		{
			try
			{
				resultat = Integer.parseInt(chaine());
				erreur = 0;
			}
			catch (NumberFormatException e)
			{
				System.out.println("erreur : saisissez un nombre entier (int) entre "+Integer.MIN_VALUE+" et "+Integer.MAX_VALUE);
			}
        }

        return resultat;
	}

//-----------------------------------------------------------------------
    public static boolean booleen()
	{
		boolean resultat = true;
		int erreur = -1;
		char c='x';

		while (erreur == -1)
		{
			c = charactere();
			if ( (c=='V')||(c=='v')||(c=='1') )
			{
				erreur = 0;
				resultat = true;
			}
			else
				if ( (c=='F')||(c=='f')||(c=='0') )
				{
					erreur = 0;
					resultat = false;
				}
				else
				{
					System.out.println("erreur : saisissez un nombre boolean (0, 1),(V,F)");
				}
		}
		return resultat;
	}
//~ //-----------------------------------------------------------------------
     //~ public static Boolean lireBoolean()
	//~ {
		//~ Boolean resultat = new Boolean(lire_boolean());
	
		//~ return resultat;
	//~ }
}


