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