Conditions pour n'accepter que les floats

Résolu
charly2203 Messages postés 274 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,
Je bloque sur des entrées standars qui ne correspondent pas avec ce qui est demandé.

Je m'explique, je demande à l'utilisateur de taper un prix (float) au clavier. Mais si celui-ci tape une lettre par exemple, ca plante le programme.

Comment réitérrer la demande tant qu'il n'entre pas bien un float?

Merci d'avance

1 réponse

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Tout dépend comment tu fais pour entrer tes nombres, mais ça se fait facilement avec la classe Scanner :

    private static final Scanner clavier = new Scanner(System.in);
    
    public static float nextFloat()
    {
    	System.out.print("Float : ");
    	if (clavier.hasNextFloat())
    	{
    		return clavier.nextFloat();
    	}
    	else
    	{
    		System.out.println(clavier.next()+" invalide");
    		return nextFloat();
    	}
    }
    
    public static void main(String[] args)
    {
    	System.out.println(nextFloat());
    }
    0