logo

Java szkenner

A Java szkenner osztály a java.util csomagban található. A Java különféle módokat biztosít a billentyűzetről érkező bevitel olvasására, ezek egyike a java.util.Scanner osztály.

A Java Scanner osztály a bemenetet tokenekre bontja egy határolóval, amely alapértelmezés szerint szóköz. Számos módszert kínál különféle primitív értékek olvasására és elemzésére.

A Java Scanner osztályt széles körben használják szövegelemzésre karakterláncok és primitív típusok reguláris kifejezések használatával. Ez a legegyszerűbb módja annak, hogy bevitelt kapjunk Java nyelven. A Java Scanner segítségével olyan primitív típusokban kaphatunk bevitelt a felhasználótól, mint az int, long, double, byte, float, short stb.

A Java Scanner osztály kiterjeszti az Object osztályt, és megvalósítja az Iterator és a Closeable felületeket.

A Java Scanner osztály nextXXX() metódusokat biztosít az érték típusának visszaadásához, például nextInt(), nextByte(), nextShort(), next(), nextLine(), nextDouble(), nextFloat(), nextBoolean() stb. Ha egyetlen karaktert szeretne lekérni a szkennertől, hívja meg a next().charAt(0) metódust, amely egyetlen karaktert ad vissza.

Java szkenner osztálynyilatkozat

 public final class Scanner extends Object implements Iterator 

Hogyan szerezhető be a Java Scanner

Ahhoz, hogy megkapjuk a Java Scanner példányát, amely beolvas a felhasználótól, át kell adnunk a bemeneti adatfolyamot (System.in) a Scanner osztály konstruktorában. Például:

 Scanner in = new Scanner(System.in); 

Ahhoz, hogy megkapjuk a Java Scanner példányát, amely elemzi a karakterláncokat, át kell adnunk a karakterláncokat a Scanner osztály konstruktorában. Például:

 Scanner in = new Scanner('Hello Javatpoint'); 

Java Scanner osztály konstruktorok

SN Konstruktőr Leírás
1) Szkenner (fájlforrás) Létrehoz egy új szkennert, amely a megadott fájlból szkennelt értékeket állít elő.
2) Szkenner (fájl forrása, karakterkészlet neve) Létrehoz egy új szkennert, amely a megadott fájlból szkennelt értékeket állít elő.
3) Szkenner (InputStream forrás) Létrehoz egy új szkennert, amely a megadott bemeneti adatfolyamból szkennelt értékeket állít elő.
4) Szkenner (InputStream forrás, Karakterkészletnév) Létrehoz egy új szkennert, amely a megadott bemeneti adatfolyamból szkennelt értékeket állít elő.
5) Szkenner (olvasható forrás) Létrehoz egy új szkennert, amely a megadott forrásból beolvasott értékeket állít elő.
6) Szkenner (String forrás) Létrehoz egy új szkennert, amely a megadott karakterláncból szkennelt értékeket állít elő.
7) Szkenner (ReadableByteChannel forrás) Létrehoz egy új szkennert, amely a megadott csatornáról leolvasott értékeket állít elő.
8) Szkenner (ReadableByteChannel forrás, Karakterkészletnév) Létrehoz egy új szkennert, amely a megadott csatornáról leolvasott értékeket állít elő.
9) Szkenner (útvonal-forrás) Létrehoz egy új szkennert, amely a megadott fájlból szkennelt értékeket állít elő.
10) Szkenner (elérési út forrása, karakterkészlet neve) Létrehoz egy új szkennert, amely a megadott fájlból szkennelt értékeket állít elő.

Java szkenner osztály módszerei

A szkenner módszerek listája a következő:

SN Módosító és típus Módszer Leírás
1) üres Bezárás() A szkenner bezárására szolgál.
2) minta határoló () Arra használják, hogy megkapják azt a mintát, amelyet a Scanner osztály jelenleg használ a határolók egyeztetésére.
3) Folyam Találd meg mindet() A megadott mintakarakterláncnak megfelelő találati folyam megkeresésére szolgál.
4) Húr findInLine() A megadott karakterláncból összeállított minta következő előfordulásának megkeresésére szolgál, figyelmen kívül hagyva a határolókat.
5) húr findWithinHorizon() A megadott karakterláncból összeállított minta következő előfordulásának megkeresésére szolgál, figyelmen kívül hagyva a határolókat.
6) logikai érték hasNext() Igazat ad vissza, ha a lapolvasó bemenetében másik token is van.
7) logikai érték hasNextBigDecimal() Annak ellenőrzésére szolgál, hogy a következő token a lapolvasó bemenetében értelmezhető-e BigDecimal-ként a nextBigDecimal() metódus használatával vagy sem.
8) logikai érték hasNextBigInteger() Annak ellenőrzésére szolgál, hogy a következő token a lapolvasó bemenetében értelmezhető-e BigDecimal-ként a nextBigDecimal() metódus használatával vagy sem.
9) logikai érték hasNextBoolean() Arra szolgál, hogy ellenőrizze, hogy a következő token a szkenner bemenetében értelmezhető-e logikai értékként a nextBoolean() metódussal vagy sem.
10) logikai érték hasNextByte() Annak ellenőrzésére szolgál, hogy a következő token a lapolvasó bemenetében bájtként értelmezhető-e a nextBigDecimal() metódussal vagy sem.
tizenegy) logikai érték hasNextDouble() Annak ellenőrzésére szolgál, hogy a következő token a lapolvasó bemenetében értelmezhető-e BigDecimal-ként a nextByte() metódus használatával vagy sem.
12) logikai érték hasNextFloat() Arra szolgál, hogy ellenőrizze, hogy a következő token a szkenner bemenetében lebegésként értelmezhető-e a nextFloat() metódussal vagy sem.
13) logikai érték hasNextInt() Arra szolgál, hogy ellenőrizze, hogy a következő token a lapolvasó bemenetében értelmezhető-e intként a nextInt() metódus használatával vagy sem.
14) logikai érték hasNextLine() Arra szolgál, hogy ellenőrizze, van-e másik sor a szkenner bemenetén vagy sem.
tizenöt) logikai érték hasNextLong() Arra szolgál, hogy ellenőrizze, hogy a következő token a lapolvasó bemenetében hosszúként értelmezhető-e a nextLong() metódussal vagy sem.
16) logikai érték hasNextShort() Arra szolgál, hogy ellenőrizze, hogy a következő token a lapolvasó bemenetében rövidnek értelmezhető-e a nextShort() metódussal vagy sem.
17) IOException ioException() Arra használják, hogy a szkenner által utoljára dobott IOException olvasható legyen.
18) Helyi helyi() A Scanner osztály területi beállításaihoz használható.
19) MatchResult mérkőzés() A szkenner által végrehajtott utolsó szkennelési művelet egyezési eredményének lekérésére szolgál.
húsz) Húr következő() Arra használják, hogy megkapják a következő teljes tokent a használatban lévő szkennertől.
huszonegy) BigDecimal nextBigDecimal() A bemenet következő tokenjét BigDecimal-ként vizsgálja.
22) BigInteger nextBigInteger() A bemenet következő tokenjét BigIntegerként vizsgálja.
23) logikai érték nextBoolean() A bemenet következő tokenjét logikai értékké vizsgálja, és ezt az értéket adja vissza.
24) byte nextByte() A bemenet következő tokenjét bájtként vizsgálja.
25) kettős következőDouble() A bemenet következő tokent kettősként vizsgálja.
26) úszó nextFloat() A bemenet következő tokenjét lebegőként vizsgálja.
27) int nextInt() A bemenet következő tokent Int-ként vizsgálja.
28) Húr nextLine() A Scanner objektum kihagyott beviteli karakterláncának lekérésére szolgál.
29) hosszú nextLong() A bemenet következő tokenjét hosszúként vizsgálja.
30) rövid nextShort() Rövidzárként beolvassa a bemenet következő tokent.
31) int alapszám() A lapolvasó használatának alapértelmezett radixének lekérésére szolgál.
32) üres eltávolítás() Akkor használatos, ha az eltávolítási műveletet nem támogatja az Iterator ezen megvalósítása.
33) Scanner Visszaállítás() A használatban lévő szkenner visszaállítására szolgál.
3. 4) Scanner skip() Kihagyja a megadott mintának megfelelő bevitelt, figyelmen kívül hagyva a határolókat
35) Folyam tokenek () Arra használják, hogy határolójelekkel elválasztott tokeneket kapjanak a használatban lévő szkenner objektumtól.
36) Húr toString() A Scanner karakterlánc reprezentációjának lekérésére szolgál.
37) Scanner UseElimiter() Arra szolgál, hogy a használt szkenner határoló mintáját a megadott mintára állítsa.
38) Scanner useLocale() Ez a szkenner területi objektumának a megadott területi beállítására szolgál.
39) Scanner useRadix() Arra szolgál, hogy a használt szkenner alapértelmezett radixét a megadott gyökre állítsa.

1. példa

Lássunk egy egyszerű példát a Java Scannerre, ahol egyetlen bemenetet kapunk a felhasználótól. Itt egy karakterláncot kérünk az in.nextLine() metóduson keresztül.

 import java.util.*; public class ScannerExample { public static void main(String args[]){ Scanner in = new Scanner(System.in); System.out.print('Enter your name: '); String name = in.nextLine(); System.out.println('Name is: ' + name); in.close(); } } 

Kimenet:

 Enter your name: sonoo jaiswal Name is: sonoo jaiswal 

2. példa

 import java.util.*; public class ScannerClassExample1 { public static void main(String args[]){ String s = 'Hello, This is JavaTpoint.'; //Create scanner Object and pass string in it Scanner scan = new Scanner(s); //Check if the scanner has a token System.out.println('Boolean Result: ' + scan.hasNext()); //Print the string System.out.println('String: ' +scan.nextLine()); scan.close(); System.out.println('--------Enter Your Details-------- '); Scanner in = new Scanner(System.in); System.out.print('Enter your name: '); String name = in.next(); System.out.println('Name: ' + name); System.out.print('Enter your age: '); int i = in.nextInt(); System.out.println('Age: ' + i); System.out.print('Enter your salary: '); double d = in.nextDouble(); System.out.println('Salary: ' + d); in.close(); } } 

Kimenet:

 Boolean Result: true String: Hello, This is JavaTpoint. -------Enter Your Details--------- Enter your name: Abhishek Name: Abhishek Enter your age: 23 Age: 23 Enter your salary: 25000 Salary: 25000.0 

3. példa

 import java.util.*; public class ScannerClassExample2 { public static void main(String args[]){ String str = 'Hello/This is JavaTpoint/My name is Abhishek.'; //Create scanner with the specified String Object Scanner scanner = new Scanner(str); System.out.println('Boolean Result: '+scanner.hasNextBoolean()); //Change the delimiter of this scanner scanner.useDelimiter('/'); //Printing the tokenized Strings System.out.println('---Tokenizes String---'); while(scanner.hasNext()){ System.out.println(scanner.next()); } //Display the new delimiter System.out.println('Delimiter used: ' +scanner.delimiter()); scanner.close(); } } 

Kimenet:

gépírás dátuma
 Boolean Result: false ---Tokenizes String--- Hello This is JavaTpoint My name is Abhishek. Delimiter used: /