Előadásrészlet egy mentorral a Codegym University tanfolyam részeként. Jelentkezzen a teljes tanfolyamra.
"Amigo, eljött a te időd. Most a billentyűzet beviteléről fogok beszélni."
" A System.out segítségével megjelenítettük az adatokat a képernyőn. A bemenet fogadásához a System.in fájlt használjuk ."
– Könnyen hangzik.
" A System.in-nek azonban van egy hiányossága – csak karakterkódok beolvasását teszi lehetővé a billentyűzetről. Ahhoz, hogy megkerüljük ezt a problémát, és egyszerre nagy mennyiségű adatot olvassunk ki, egy összetettebb konstrukciót használunk:
Írjon be egy karakterláncot és egy számot a billentyűzetről
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.
Az előző példa kompaktabb változata:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String name = reader.readLine();
String sAge = reader.readLine();
int nAge = Integer.parseInt(sAge);
Még kompaktabb
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
int age = scanner.nextInt();
"Bármi kérdés?"
– Ööö...nem értettem semmit.
"A karakterlánc billentyűzetről történő olvasásához a legkényelmesebb egy BufferedReader objektum használata . Ehhez azonban át kell adnia azt az objektumot, amelyről adatokat fog olvasni. Ebben az esetben a System.in ."
"De a System.in és a BufferedReader nem kompatibilis, ezért egy másik adaptert használunk – egy másik InputStreamReader objektumot."
"Azt hiszem, most már értem. Mi ez a szkenner osztály ?"
"A szkenner kényelmes lehet, de nem túl hasznos. A helyzet az, hogy ahogy haladsz (mind a tanulásban, mind a munkában), gyakran fogod használni a BufferedReader-t és az InputStreamReader-t , de a szkennert nagyon ritkán. Példánkban kényelmes, de a jövőben nem lesz túl gyakran hasznos. Így nem nagyon fogjuk használni ."
– Ez egyértelműnek tűnik, de nem vagyok benne biztos, hogy mindent értettem.
GO TO FULL VERSION