Java Language Fermer soigneusement un scanner


Exemple

il peut arriver que vous utilisiez un scanner avec le paramètre System.in en tant que paramètre pour le constructeur, alors vous devez être conscient que la fermeture du scanner fermera le InputStream en donnant la prochaine fois que chaque tentative de lecture de l'entrée sur ce dernier (ou tout autre objet scanner) lancera une java.util.NoSuchElementException ou une java.lang.IllegalStateException

Exemple:

    Scanner sc1 = new Scanner(System.in);
    Scanner sc2 = new Scanner(System.in);
    int x1 = sc1.nextInt();
    sc1.close();
    // java.util.NoSuchElementException
    int x2 = sc2.nextInt();
    // java.lang.IllegalStateException
    x2 = sc1.nextInt();