Klasa skenera u Javi nalazi se u paketu java.util. Java nudi različite načine za čitanje unosa s tipkovnice, klasa java.util.Scanner je jedan od njih.
Klasa Java Scanner rastavlja unos u tokene pomoću razdjelnika koji je prema zadanim postavkama razmak. Omogućuje mnoge metode za čitanje i raščlanjivanje različitih primitivnih vrijednosti.
Klasa Java Scanner naširoko se koristi za raščlanjivanje teksta za nizove i primitivne tipove pomoću regularnog izraza. To je najjednostavniji način unosa u Javi. Uz pomoć Scannera u Javi, možemo dobiti unos od korisnika u primitivnim tipovima kao što su int, long, double, byte, float, short itd.
veza java mysql
Klasa Java Scanner proširuje klasu Object i implementira sučelja Iterator i Closeable.
Klasa Java Scanner pruža metode nextXXX() za vraćanje vrste vrijednosti kao što su nextInt(), nextByte(), nextShort(), next(), nextLine(), nextDouble(), nextFloat(), nextBoolean(), itd. .Da biste dobili jedan znak od skenera, možete pozvati next().charAt(0) metodu koja vraća jedan znak.
palindrom u Javi
Deklaracija klase Java skenera
public final class Scanner extends Object implements Iterator
Kako nabaviti Java Scanner
Da bismo dobili instancu Java Scannera koja čita unos od korisnika, moramo proslijediti ulazni tok (System.in) u konstruktoru klase Scanner. Na primjer:
Scanner in = new Scanner(System.in);
Da bismo dobili instancu Java Scannera koja analizira nizove, moramo proslijediti nizove u konstruktoru klase Scanner. Na primjer:
Scanner in = new Scanner('Hello Javatpoint');
Konstruktori klasa Java Scannera
S N | Konstruktor | Opis |
---|---|---|
1) | Skener (izvor datoteke) | Konstruira novi skener koji proizvodi vrijednosti skenirane iz navedene datoteke. |
2) | Skener (izvor datoteke, naziv niza znakova) | Konstruira novi skener koji proizvodi vrijednosti skenirane iz navedene datoteke. |
3) | Skener (izvor InputStream) | Konstruira novi skener koji proizvodi vrijednosti skenirane iz navedenog ulaznog toka. |
4) | Skener (izvor InputStream, String charsetName) | Konstruira novi skener koji proizvodi vrijednosti skenirane iz navedenog ulaznog toka. |
5) | Skener (čitljiv izvor) | Konstruira novi skener koji proizvodi vrijednosti skenirane iz navedenog izvora. |
6) | Skener (izvor niza) | Konstruira novi skener koji proizvodi vrijednosti skenirane iz navedenog niza. |
7) | Skener (izvor ReadableByteChannel) | Konstruira novi skener koji proizvodi vrijednosti skenirane iz navedenog kanala. |
8) | Scanner (izvor ReadableByteChannel, String charsetName) | Konstruira novi skener koji proizvodi vrijednosti skenirane iz navedenog kanala. |
9) | Skener (izvor staze) | Konstruira novi skener koji proizvodi vrijednosti skenirane iz navedene datoteke. |
10) | Skener (izvor staze, naziv niza znakova) | Konstruira novi skener koji proizvodi vrijednosti skenirane iz navedene datoteke. |
Metode klase Java skenera
Slijedi popis metoda skenera:
S N | Modifikator i vrsta | metoda | Opis |
---|---|---|---|
1) | poništiti | Zatvoriti() | Koristi se za zatvaranje ovog skenera. |
2) | uzorak | graničnik() | Koristi se za dobivanje uzorka koji klasa Scanner trenutno koristi za podudaranje graničnika. |
3) | Stream | pronađiSve() | Koristi se za pronalaženje toka rezultata podudaranja koji odgovaraju navedenom nizu uzorka. |
4) | Niz | FindInLine() | Koristi se za pronalaženje sljedećeg pojavljivanja uzorka konstruiranog iz navedenog niza, zanemarujući graničnike. |
5) | niz | pronađi unutar horizonta() | Koristi se za pronalaženje sljedećeg pojavljivanja uzorka konstruiranog iz navedenog niza, zanemarujući graničnike. |
6) | Booleov | hasNext() | Vraća true ako ovaj skener ima drugi token u svom unosu. |
7) | Booleov | hasNextBigDecimal() | Koristi se za provjeru može li se sljedeći token u unosu ovog skenera protumačiti kao BigDecimal pomoću metode nextBigDecimal() ili ne. |
8) | Booleov | hasNextBigInteger() | Koristi se za provjeru može li se sljedeći token u unosu ovog skenera protumačiti kao BigDecimal pomoću metode nextBigDecimal() ili ne. |
9) | Booleov | hasNextBoolean() | Koristi se za provjeru može li se sljedeći token u unosu ovog skenera protumačiti kao Boolean pomoću metode nextBoolean() ili ne. |
10) | Booleov | hasNextByte() | Koristi se za provjeru može li se sljedeći token u unosu ovog skenera protumačiti kao bajt pomoću metode nextBigDecimal() ili ne. |
jedanaest) | Booleov | hasNextDouble() | Koristi se za provjeru može li se sljedeći token u unosu ovog skenera protumačiti kao BigDecimal pomoću metode nextByte() ili ne. |
12) | Booleov | hasNextFloat() | Koristi se za provjeru može li se sljedeći token u unosu ovog skenera protumačiti kao Float pomoću metode nextFloat() ili ne. |
13) | Booleov | hasNextInt() | Koristi se za provjeru može li se sljedeći token u unosu ovog skenera protumačiti kao int pomoću metode nextInt() ili ne. |
14) | Booleov | hasNextLine() | Koristi se za provjeru postoji li drugi redak na ulazu ovog skenera ili ne. |
petnaest) | Booleov | hasNextLong() | Koristi se za provjeru može li se sljedeći token u unosu ovog skenera protumačiti kao dug pomoću metode nextLong() ili ne. |
16) | Booleov | hasNextShort() | Koristi se za provjeru može li se sljedeći token u unosu ovog skenera protumačiti kao Short pomoću metode nextShort() ili ne. |
17) | IOException | ioException() | Koristi se za dobivanje IOExceptiona koji je posljednji izbacio ovaj skener kao čitljiv. |
18) | Lokalno | lokalni() | Koristi se za dobivanje lokaliteta klase Scanner. |
19) | MatchResult | odgovara() | Koristi se za dobivanje rezultata podudaranja zadnje operacije skeniranja koju je izvršio ovaj skener. |
dvadeset) | Niz | Sljedeći() | Koristi se za dobivanje sljedećeg potpunog tokena iz skenera koji je u upotrebi. |
dvadeset i jedan) | BigDecimal | nextBigDecimal() | Skenira sljedeći token ulaza kao BigDecimal. |
22) | BigInteger | nextBigInteger() | Skenira sljedeći token ulaza kao BigInteger. |
23) | Booleov | nextBoolean() | Skenira sljedeći token unosa u booleovu vrijednost i vraća tu vrijednost. |
24) | bajt | nextByte() | Skenira sljedeći token ulaza kao bajt. |
25) | dvostruko | nextDouble() | Skenira sljedeći token ulaza kao dvostruki. |
26) | plutati | nextFloat() | Skenira sljedeći token ulaza kao float. |
27) | int | nextInt() | Skenira sljedeći token ulaza kao Int. |
28) | Niz | sljedeći redak() | Koristi se za dobivanje ulaznog niza koji je preskočen u objektu Scanner. |
29) | dugo | nextLong() | Skenira sljedeći token ulaza kao long. |
30) | kratak | nextShort() | Skenira sljedeći token unosa kao kratki. |
31) | int | radix() | Koristi se za dobivanje zadanog radiksa za korištenje Skenera. |
32) | poništiti | ukloniti() | Koristi se kada ova implementacija Iteratora ne podržava operaciju uklanjanja. |
33) | Skener | reset() | Koristi se za resetiranje skenera koji je u upotrebi. |
3. 4) | Skener | preskočiti() | Preskače unos koji odgovara navedenom uzorku, zanemarujući graničnike |
35) | Stream | tokeni() | Koristi se za dobivanje toka tokena odvojenih graničnicima iz objekta Scanner koji je u upotrebi. |
36) | Niz | toString() | Koristi se za dobivanje string reprezentacije Scannera pomoću. |
37) | Skener | koristirazdjelnik() | Koristi se za postavljanje razgraničavajućeg uzorka skenera koji se koristi na navedeni uzorak. |
38) | Skener | useLocale() | Koristi se za postavljanje objekta lokalizacije ovog skenera na navedenu lokalizaciju. |
39) | Skener | koristiRadix() | Koristi se za postavljanje zadanog radiksa skenera koji se koristi na navedeni radiks. |
Primjer 1
Pogledajmo jednostavan primjer Java Scannera gdje dobivamo jedan unos od korisnika. Ovdje tražimo niz putem metode in.nextLine().
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(); } }
Izlaz:
string replaceall java
Enter your name: sonoo jaiswal Name is: sonoo jaiswal
Primjer 2
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(); } }
Izlaz:
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
Primjer 3
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(); } }
Izlaz:
Boolean Result: false ---Tokenizes String--- Hello This is JavaTpoint My name is Abhishek. Delimiter used: /