11 Input da tastiera – System.in

Nella scorsa guida abbiamo visto come stampare il risultato del nostro programma in modo da renderlo visibile all’utente. Oggi vedremo come far acquisire al programma dati dall’esterno inseriti dall’utente.

Su Java, per acquisire un dato dall’esterno in un programma a riga di comando, utilizziamo una variabile di tipo Scanner, la quale sfrutta la libreria System.in.

FUNZIONAMENTO
Anche in questo caso cercherò di spiegare il funzionamento di questi comandi in maniera semplice.
Usando soltanto la libreria System.in avremmo in ingresso un buffer con le informazioni sotto forma di byte che dovremmo convertire. Scanner si occupa di fare il “lavoro sporco”, convertendo lui stesso il buffer in ingresso nel tipo di variabile che vogliamo (int, string, double ecc..).

CODICE
Vediamo subito un esempio pratico:

Scanner scanner=new Scanner(System.in);
String s=scanner.nextLine(); //s avrà il valore che l'utente avrà inserito prima di premere invio
System.out.println(s);//stampate quello che avete inserito

In generale è sempre meglio usare scanner.nextLine che è un metodo al quale va bene qualsiasi valore in ingresso.
Tuttavia esistono altri metodi che resistuiscono altri tipi di variabile come:
-nextInt
-nextDouble
-nextBoolean

ATTENZIONE
Se usate il metodo “nextInt” ma l’utente inserisce una lettera il programma vi darà errore. L’utente deve inserire lo stesso valore che vuole il metodo. Per questo motivo io vi cosiglio nel dubbio di usare sempre “nextLine” che, essendo una stringa, accetta qualsiasi tipo di valore in ingresso.

Nel prossimo articolo modificheremo il programma della calcolatrice creata un po’ di tempo fa, chiedendo i numeri nel quale eseguire l’operazione all’utente.
Scrivetemi pure se qualcosa non vi è chiara e vi risponderò il prima possibile!

Please follow and like us: