Conditions pour n'accepter que les floats
Résolu
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
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
-
ModérateurTout 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()); }