logo

Java skener

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