En forelesningsbit med en mentor som en del av Codegym University-kurset. Meld deg på hele kurset.


"Amigo, tiden din er inne. Jeg skal nå fortelle deg om tastaturinndata."

"Vi har brukt System.out for å vise data på skjermen. For å motta input bruker vi System.in ."

"Høres lett ut."

"Men System.in har en mangel – den lar oss bare lese tegnkoder fra tastaturet. For å komme rundt dette problemet og lese store databiter på en gang, bruker vi en mer kompleks konstruksjon:"

Eksempel 1
Tast inn en streng og et tall fra tastaturet
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
Oppgave
Java Syntax,  nivålekse
Låst
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.
Eksempel 2
En mer kompakt versjon av forrige eksempel:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

String name = reader.readLine();
String sAge = reader.readLine();
int nAge = Integer.parseInt(sAge);
Eksempel 3
Enda mer kompakt
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
int age = scanner.nextInt();

"Noen spørsmål?"

"Øh...jeg skjønte ingenting."

"For å lese en streng fra tastaturet er det mest praktisk å bruke et BufferedReader- objekt . Men for å gjøre det må du sende inn objektet du skal lese data fra. I dette tilfellet System.in ."

"Men System.in og BufferedReader er inkompatible, så vi bruker en annen adapter – et annet InputStreamReader- objekt."

"Jeg tror jeg skjønner det nå. Hva er denne skannerklassen ?"

"Scanner kan være praktisk, men det er ikke veldig nyttig. Saken er at når du fortsetter (både i studier og arbeid), vil du bruke BufferedReader og InputStreamReader ofte , men Scanner - svært sjelden. Det er praktisk i vårt eksempel, men i i fremtiden vil det ikke være nyttig så ofte. Så vi vil ikke bruke det mye ."

"Det virker klart, men jeg er ikke sikker på at jeg forsto alt."