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:"
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.
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);
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."
GO TO FULL VERSION