logo

Java Scanner

Razred Scanner v Javi je v paketu java.util. Java ponuja različne načine za branje vnosa s tipkovnice, razred java.util.Scanner je eden izmed njih.

Razred Java Scanner razdeli vnos na žetone z uporabo ločila, ki je privzeto presledek. Ponuja številne metode za branje in razčlenjevanje različnih primitivnih vrednosti.

Razred Java Scanner se pogosto uporablja za razčlenjevanje besedila za nize in primitivne vrste z uporabo regularnega izraza. To je najpreprostejši način za vnos v Javi. S pomočjo Scannerja v Javi lahko od uporabnika dobimo vnos v primitivnih vrstah, kot so int, long, double, byte, float, short itd.

Razred Java Scanner razširja razred Object in implementira vmesnika Iterator in Closeable.

sklad v javi

Razred Java Scanner ponuja metode nextXXX() za vrnitev vrste vrednosti, kot so nextInt(), nextByte(), nextShort(), next(), nextLine(), nextDouble(), nextFloat(), nextBoolean() itd. Če želite dobiti en znak iz optičnega bralnika, lahko pokličete metodo next().charAt(0), ki vrne en znak.

Deklaracija razreda Java Scanner

 public final class Scanner extends Object implements Iterator 

Kako dobiti Java Scanner

Če želimo dobiti primerek Java Scannerja, ki bere vnose od uporabnika, moramo posredovati vhodni tok (System.in) v konstruktorju razreda Scanner. Na primer:

vrsta v Javi
 Scanner in = new Scanner(System.in); 

Če želimo dobiti primerek Java Scannerja, ki razčleni nize, moramo posredovati nize v konstruktorju razreda Scanner. Na primer:

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

Konstruktorji razreda Java Scanner

SN Konstruktor Opis
1) Optični bralnik (vir datoteke) Izdela nov optični bralnik, ki ustvari vrednosti, skenirane iz navedene datoteke.
2) Scanner (vir datoteke, ime niza znakov) Izdela nov optični bralnik, ki ustvari vrednosti, skenirane iz navedene datoteke.
3) Scanner (vir InputStream) Izdela nov optični bralnik, ki ustvari vrednosti, skenirane iz podanega vhodnega toka.
4) Scanner (vir InputStream, String charsetName) Izdela nov optični bralnik, ki ustvari vrednosti, skenirane iz podanega vhodnega toka.
5) Optični bralnik (berljiv vir) Izdela nov optični bralnik, ki ustvari vrednosti, skenirane iz podanega vira.
6) Scanner (vir niza) Izdela nov optični bralnik, ki ustvari vrednosti, skenirane iz navedenega niza.
7) Scanner (vir ReadableByteChannel) Izdela nov optični bralnik, ki ustvari vrednosti, skenirane iz podanega kanala.
8) Scanner (izvor ReadableByteChannel, String charsetName) Izdela nov optični bralnik, ki ustvari vrednosti, skenirane iz podanega kanala.
9) Scanner (vir poti) Izdela nov optični bralnik, ki ustvari vrednosti, skenirane iz navedene datoteke.
10) Scanner (vir poti, ime niza znakov) Izdela nov optični bralnik, ki ustvari vrednosti, skenirane iz navedene datoteke.

Metode razreda Java Scanner

Spodaj je seznam metod optičnega bralnika:

SN Modifikator in tip Metoda Opis
1) praznina zapri() Uporablja se za zapiranje tega optičnega bralnika.
2) vzorec ločilo () Uporablja se za pridobitev vzorca, ki ga razred Scanner trenutno uporablja za ujemanje ločil.
3) Tok poiščiVse() Uporablja se za iskanje toka rezultatov ujemanja, ki se ujemajo s podanim nizom vzorca.
4) Vrvica findInLine() Uporablja se za iskanje naslednje pojavitve vzorca, sestavljenega iz podanega niza, pri čemer se ne upoštevajo ločila.
5) vrvica findWithinHorizon() Uporablja se za iskanje naslednje pojavitve vzorca, sestavljenega iz podanega niza, pri čemer se ne upoštevajo ločila.
6) logično hasNext() Vrne true, če ima ta optični bralnik v vhodu drug žeton.
7) logično hasNextBigDecimal() Uporablja se za preverjanje, ali je naslednji žeton v vnosu tega skenerja mogoče interpretirati kot BigDecimal z uporabo metode nextBigDecimal() ali ne.
8) logično hasNextBigInteger() Uporablja se za preverjanje, ali je naslednji žeton v vnosu tega skenerja mogoče interpretirati kot BigDecimal z uporabo metode nextBigDecimal() ali ne.
9) logično hasNextBoolean() Uporablja se za preverjanje, ali je naslednji žeton v vnosu tega optičnega bralnika mogoče interpretirati kot logično vrednost z uporabo metode nextBoolean() ali ne.
10) logično hasNextByte() Uporablja se za preverjanje, ali je naslednji žeton v vnosu tega skenerja mogoče interpretirati kot bajt z uporabo metode nextBigDecimal() ali ne.
enajst) logično hasNextDouble() Uporablja se za preverjanje, ali je naslednji žeton v vnosu tega skenerja mogoče interpretirati kot BigDecimal z uporabo metode nextByte() ali ne.
12) logično hasNextFloat() Uporablja se za preverjanje, ali je naslednji žeton v vhodu tega skenerja mogoče interpretirati kot Float z uporabo metode nextFloat() ali ne.
13) logično hasNextInt() Uporablja se za preverjanje, ali je naslednji žeton v vnosu tega skenerja mogoče interpretirati kot int z uporabo metode nextInt() ali ne.
14) logično hasNextLine() Uporablja se za preverjanje, ali je v vhodu tega skenerja še ena vrstica ali ne.
petnajst) logično hasNextLong() Uporablja se za preverjanje, ali je naslednji žeton v vnosu tega optičnega bralnika mogoče interpretirati kot Long z uporabo metode nextLong() ali ne.
16) logično hasNextShort() Uporablja se za preverjanje, ali je naslednji žeton v vnosu tega optičnega bralnika mogoče interpretirati kot kratek z uporabo metode nextShort() ali ne.
17) IOException ioException() Uporablja se za pridobitev berljive izjeme IOException, ki jo je nazadnje vrgel ta optični bralnik.
18) Lokalno lokalni() Uporablja se za pridobitev področne nastavitve razreda Scanner.
19) MatchResult ujemanje() Uporablja se za pridobitev rezultata ujemanja zadnje operacije skeniranja, ki jo je izvedel ta skener.
dvajset) Vrvica Naslednji() Uporablja se za pridobitev naslednjega popolnega žetona iz optičnega bralnika, ki je v uporabi.
enaindvajset) BigDecimal nextBigDecimal() Skenira naslednji žeton vnosa kot BigDecimal.
22) BigInteger nextBigInteger() Pregleda naslednji žeton vnosa kot BigInteger.
23) logično nextBoolean() Pregleda naslednji žeton vnosa v logično vrednost in vrne to vrednost.
24) bajt nextByte() Pregleda naslednji žeton vnosa kot bajt.
25) dvojno nextDouble() Naslednji žeton vnosa skenira kot dvojnik.
26) lebdi nextFloat() Naslednji žeton vnosa skenira kot plavajoči.
27) int nextInt() Pregleda naslednji žeton vnosa kot Int.
28) Vrvica naslednja vrstica() Uporablja se za pridobitev vhodnega niza, ki je bil preskočen v objektu Scanner.
29) dolga nextLong() Naslednji žeton vnosa skenira kot dolg.
30) kratek nextShort() Naslednji žeton vnosa skenira kot kratek.
31) int radix() Uporablja se za pridobitev privzetega radiksa za uporabo Scannerja.
32) praznina Odstrani() Uporablja se, ko ta implementacija Iteratorja ne podpira operacije odstranitve.
33) Skener ponastaviti() Uporablja se za ponastavitev optičnega bralnika, ki je v uporabi.
3. 4) Skener preskoči() Preskoči vnos, ki se ujema s podanim vzorcem, pri čemer ignorira ločila
35) Tok žetoni() Uporablja se za pridobivanje toka žetonov, ločenih z ločilom, iz predmeta Scanner, ki je v uporabi.
36) Vrvica toString() Uporablja se za pridobitev nizovne predstavitve Scannerja z uporabo.
37) Skener useDelimiter() Uporablja se za nastavitev ločevalnega vzorca optičnega bralnika, ki je v uporabi, na določen vzorec.
38) Skener useLocale() Uporablja se za nastavitev predmeta področne nastavitve tega optičnega bralnika na podano področno nastavitev.
39) Skener useRadix() Uporablja se za nastavitev privzetega radiksa optičnega bralnika, ki je v uporabi, na navedeni radiks.

Primer 1

Oglejmo si preprost primer Java Scannerja, kjer dobimo en vnos od uporabnika. Tukaj zahtevamo niz prek 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(); } } 

Izhod:

 Enter your name: sonoo jaiswal Name is: sonoo jaiswal 

Primer 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(); } } 

Izhod:

if else if else if java
 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 

Primer 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(); } } 

Izhod:

 Boolean Result: false ---Tokenizes String--- Hello This is JavaTpoint My name is Abhishek. Delimiter used: /