Un frammento di lezione con un mentore come parte del corso Codegym University. Iscriviti al corso completo.


"Amigo, è giunto il tuo momento. Ora ti parlerò dell'input da tastiera."

"Abbiamo utilizzato System.out per visualizzare i dati sullo schermo. Per ricevere input, utilizzeremo System.in ."

"Sembra facile."

"Ma System.in ha un difetto: ci consente solo di leggere i codici dei caratteri dalla tastiera. Per aggirare questo problema e leggere grandi blocchi di dati tutti in una volta, useremo un costrutto più complesso:"

Esempio 1
Immettere una stringa e un numero dalla tastiera
InputStream inputStream = System.in;
Reader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

String name = bufferedReader.readLine(); //Read a string from the keyboard
String sAge = bufferedReader.readLine(); //Read a string from the keyboard
int nAge = Integer.parseInt(sAge); //Convert the string to a number.
Esempio 2
Una versione più compatta dell'esempio precedente:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

String name = reader.readLine();
String sAge = reader.readLine();
int nAge = Integer.parseInt(sAge);
Esempio 3
Ancora più compatto
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
int age = scanner.nextInt();

"Qualsiasi domanda?"

"Ehm...non ho capito niente."

"Per leggere una stringa dalla tastiera, è più comodo usare un oggetto BufferedReader . Ma per farlo devi passare l'oggetto da cui leggerai i dati. In questo caso, System.in ."

"Ma System.in e BufferedReader sono incompatibili, quindi utilizziamo un altro adattatore, un altro oggetto InputStreamReader ."

"Penso di averlo capito ora. Cos'è questa classe Scanner ?"

"Scanner può essere conveniente, ma non è molto utile. Il fatto è che, mentre procedi (sia nello studio che nel lavoro), utilizzerai spesso BufferedReader e InputStreamReader , ma Scanner – molto raramente. È conveniente nel nostro esempio, ma in il futuro non sarà utile molto spesso. Quindi non lo useremo molto ".

"Sembra chiaro, ma non sono sicuro di aver capito tutto."