Un fragment de prelegere cu un mentor ca parte a cursului Universității Codegym. Înscrie-te la cursul complet.


"Amigo, a venit timpul tău. Acum am să-ți spun despre introducerea de la tastatură."

„Am folosit System.out pentru a afișa date pe ecran. Pentru a primi informații, vom folosi System.in .”

— Sună ușor.

„Dar System.in are un singur dezavantaj – ne lasă doar să citim codurile de caractere de la tastatură. Pentru a ocoli această problemă și a citi bucăți mari de date dintr-o dată, vom folosi o construcție mai complexă:”

Exemplul 1
Introduceți un șir și un număr de la tastatură
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
Sarcină
Java Syntax,  nivellecţie
Blocat
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.
Exemplul 2
O versiune mai compactă a exemplului anterior:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

String name = reader.readLine();
String sAge = reader.readLine();
int nAge = Integer.parseInt(sAge);
Exemplul 3
Chiar mai compact
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
int age = scanner.nextInt();

"Alte intrebari?"

"Uh...nu am inteles nimic."

„Pentru a citi un șir de caractere de la tastatură, este cel mai convenabil să utilizați un obiect BufferedReader . Dar pentru a face asta trebuie să treceți obiectul de la care veți citi datele. În acest caz, System.in ”.

„Dar System.in și BufferedReader sunt incompatibile, așa că folosim un alt adaptor – un alt obiect InputStreamReader .”

"Cred că am înțeles acum. Ce este această clasă Scanner ?"

„Scannerul poate fi convenabil, dar nu este foarte util. Ideea este că, pe măsură ce continuați (atât studiind, cât și lucrând), veți folosi des BufferedReader și InputStreamReader , dar Scanner – foarte rar. Este convenabil în exemplul nostru, dar în viitorul nu va fi util foarte des. Deci nu îl vom folosi prea mult ."

— Pare clar, dar nu sunt sigur că am înțeles totul.