Sélectionner une page

Bonjour,

Voici mon premier « tuto » ou « exemple » en java (enfin prenez le comme vous voulez =P). Il peux aussi être utile pour les personnes rencontrant l’erreur java.util.InputMismatchException car : grâce a un try/catch ce bout de code montre comment contourner l’erreur.

Il s’agit ici d’un bout de code qui permet de demander a l’utilisateur de saisir un chiffre (un Int dans ce cas ci).

Et si l’utilisateur ne saisit pas un chiffre (Par exemple des lettres ou des caractères spéciaux), il se voit re-demandé de saisir un chiffre correct.

Cela est donc très utile quand dans votre programme vous désirez obtenir des chiffre de la part de l’utilisateur, mais ne voulez pas que si il se trompe (ou s’amuse a rentrer n’importe quoi) le programme se plante.

Il y a peut être plus simple 😉 n’hésitez pas à m’en faire part, mais cette solution est très fonctionnelle.

Ps : Désolé pour cette mise en page désastreuse =S wordpress a ses défauts …

Pps : Ce bout de code s’adresse a des personnes ayant déjà approché de loin le code java, des tutos extrêmement simple verront le jour prochainement ;).

package java-saisiedechiffre;

import java.util.Scanner;

/**
*
* @author mknightofwest
*/
public class Main {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {

// initialisation des variables

int chiffre = 0 ;
boolean bsaisie = false ;

System.out.println(« Veuillez saisir un chiffre : ») ;

do {

Scanner sc = new Scanner(System.in); // saisie par l’utilisateur + déclaration du scanner

try { // aucune erreur

chiffre = sc.nextInt(); // la variable prend le chiffre saisi
bsaisie = true ; // bsaisie passe a l’état true, ce qui permettra de sortir de la boucle

} catch (java.util.InputMismatchException e) { // erreur du type java.util.InputMismatchException (ce n’est pas un int qui est saisi)
System.out.println(« Vous avez inséré un chiffre incorrect, ré-essayez : ») ;

}

sc.reset() ; //remise a zéro du scanner (sinon boucle infinie), il est peux être possible de le faire avec un sc.close()

} while(bsaisie == false) ; //fin de boucle si bsaisie = true

System.out.println(« Vous avez saisi :  » +chiffre) ;

}

}