Een fragment uit een lezing met een mentor als onderdeel van de Codegym University-cursus. Schrijf je in voor de volledige cursus.


"Amigo, je tijd is gekomen. Ik ga je nu vertellen over toetsenbordinvoer."

"We hebben System.out gebruikt om gegevens op het scherm weer te geven. Om invoer te ontvangen, gebruiken we System.in ."

"Klinkt makkelijk."

"Maar System.in heeft één tekortkoming: we kunnen alleen tekencodes van het toetsenbord lezen. Om dit probleem te omzeilen en grote hoeveelheden gegevens in één keer te lezen, gebruiken we een complexere constructie:"

Voorbeeld 1
Voer een tekenreeks en nummer in via het toetsenbord
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.
1
Taak
Java Syntax,  niveau 3les 7
Vergrendeld
Code entry
Sometimes you don't need to think, you just need to hammer it out! As paradoxical as it may seem, sometimes your fingers will "remember" better than your conscious mind. That's why while training at the secret CodeGym center you will sometimes encounter tasks that require you to enter code. By entering code, you get used to the syntax and earn a little dark matter. What's more, you combat laziness.
Voorbeeld 2
Een compactere versie van het vorige voorbeeld:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

String name = reader.readLine();
String sAge = reader.readLine();
int nAge = Integer.parseInt(sAge);
Voorbeeld 3
Nog compacter
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
int age = scanner.nextInt();

"Nog vragen?"

"Eh... ik begreep er niets van."

"Om een ​​string van het toetsenbord te lezen, is het handigst om een ​​BufferedReader- object te gebruiken . Maar om dat te doen moet je het object doorgeven waarvan je gegevens gaat lezen. In dit geval System.in ."

"Maar System.in en BufferedReader zijn niet compatibel, dus gebruiken we een andere adapter - een ander InputStreamReader- object."

"Ik denk dat ik het nu snap. Wat is deze Scanner-klasse ?"

"Scanner kan handig zijn, maar het is niet erg handig. Het punt is dat naarmate je verder gaat (zowel bij studeren als werken), je BufferedReader en InputStreamReader vaak zult gebruiken , maar Scanner - zeer zelden. Het is handig in ons voorbeeld, maar in in de toekomst zal het niet vaak bruikbaar zijn. Dus we zullen het niet veel gebruiken ."

'Dat lijkt duidelijk, maar ik weet niet zeker of ik alles begrepen heb.'