Per quanto riguarda comunque il codice di prima ho modificato leggermente il blocco try in questo modo:
Questo codice mi genera una NullPointerException. Questa cosa accade perchè utilizzo uno Scanner e il metodo hasNext() andrà a scandire un riferimento a null?codice:try (Scanner sc = new Scanner(System.in)) { String stringa = null; while(sc.hasNext()) { if(stringa.equals("fine")) { System.out.println("programma terminato"); break; } stringa = sc.nextLine(); System.out.println("hai digitato: " + stringa); } }
Faccio questa domanda perchè se utilizzo invece, anzichè lo Scanner, un InputStreamReader decorato con un BufferedReader questo non accade.

Rispondi quotando