Validation du type de données saisie.
Fermé
Leilu
-
Modifié par KX le 16/11/2016 à 18:29
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 16 nov. 2016 à 19:28
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 16 nov. 2016 à 19:28
A voir également:
- Validation du type de données saisie.
- Ethernet n'a pas de configuration ip valide - Guide
- Le fichier contient le nombre de voyageurs dans 3 gares. dans la cellule b5, saisissez une formule qui calcule le total et se met à jour si on change une valeur du tableau. quel total obtenez-vous ? quelle formule avez-vous saisie ? ✓ - Forum Excel
- Test de recrutement opérateur de saisie ✓ - Forum Études / Formation High-Tech
- Validation des données excel - Guide
- Incompatibilité de type vba ✓ - Forum Programmation
1 réponse
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
16 nov. 2016 à 19:28
16 nov. 2016 à 19:28
Bonjour,
En Java 8 il est très facile de faire ce genre de tests avec une petite méthode utilitaire, exemple :
En Java 8 il est très facile de faire ce genre de tests avec une petite méthode utilitaire, exemple :
// import java.util.function.*;
public static <E> E getAndCheck(String msg, Supplier<E> getter,
Function<E, Boolean> condition) {
E result = null;
do {
System.out.println(msg);
try {
result = getter.get();
} catch (RuntimeException e) {
}
} while (result == null || !condition.apply(result));
return result;
}
// import java.util.Scanner;
Scanner sc = new Scanner(System.in);
client.sexe = getAndCheck(
"Quel est votre sexe ? (h/f)",
sc::nextLine,
r -> r.equals("h") || r.equals("f"));
client.age = getAndCheck(
"Quel est votre âge ?",
() -> Integer.parseInt(sc.nextLine()),
r -> r > 0 && r <= 110);
client.valeurAchat = getAndCheck(
"Quelle est la valeur d'achat de votre véhicule ?",
() -> Double.parseDouble(sc.nextLine()),
r -> r > 0);
client.anneeFabrication = getAndCheck(
"Quelle est l'année de fabrication de votre véhicule ?",
() -> Integer.parseInt(sc.nextLine()),
r -> r > 0 && r <= client.anneeEnCours);
client.reclamationsPrecedentes = getAndCheck(
"Avez-vous fait des réclamations au cours des 6 dernières années ? (oui/non)",
sc::nextLine,
r -> r.equals("oui") || r.equals("non"));