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: /