Java Language Scanner Carefully Closing a Scanner

30% OFF - 9th Anniversary discount on Entity Framework Extensions until December 15 with code: ZZZANNIVERSARY9


it can happen that you use a scanner with the as parameter for the constructor, then you need to be aware that closing the scanner will close the InputStream too giving as next that every try to read the input on that (Or any other scanner object) will throw an java.util.NoSuchElementException or an java.lang.IllegalStateException


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

Got any Java Language Question?