logo

Scanner Java

Clasa de scanare în Java se găsește în pachetul java.util. Java oferă diverse moduri de a citi intrarea de la tastatură, clasa java.util.Scanner este una dintre ele.

Clasa Java Scanner împarte intrarea în token-uri folosind un delimitator care este în mod implicit spațiu alb. Oferă multe metode pentru a citi și analiza diferite valori primitive.

Clasa Java Scanner este utilizată pe scară largă pentru a analiza text pentru șiruri și tipuri primitive folosind o expresie regulată. Este cel mai simplu mod de a obține intrare în Java. Cu ajutorul Scannerului în Java, putem obține informații de la utilizator în tipuri primitive, cum ar fi int, long, double, byte, float, short etc.

Clasa Java Scanner extinde clasa Object și implementează interfețele Iterator și Closeable.

Clasa Java Scanner oferă metode nextXXX() pentru a returna tipul de valoare, cum ar fi nextInt(), nextByte(), nextShort(), next(), nextLine(), nextDouble(), nextFloat(), nextBoolean(), etc. Pentru a obține un singur caracter din scaner, puteți apela metoda next().charAt(0) care returnează un singur caracter.

Declarație de clasă Java Scanner

 public final class Scanner extends Object implements Iterator 

Cum să obțineți Java Scanner

Pentru a obține instanța Java Scanner care citește intrarea de la utilizator, trebuie să trecem fluxul de intrare (System.in) în constructorul clasei Scanner. De exemplu:

 Scanner in = new Scanner(System.in); 

Pentru a obține instanța Java Scanner care analizează șirurile, trebuie să trecem șirurile în constructorul clasei Scanner. De exemplu:

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

Constructori de clasă Java Scanner

SN Constructor Descriere
1) Scaner (sursa fișierului) Acesta construiește un nou Scanner care produce valori scanate din fișierul specificat.
2) Scanner (Sursa fișierului, String charsetName) Acesta construiește un nou Scanner care produce valori scanate din fișierul specificat.
3) Scaner (sursă InputStream) Acesta construiește un nou Scanner care produce valori scanate din fluxul de intrare specificat.
4) Scanner (sursă InputStream, String charsetName) Acesta construiește un nou Scanner care produce valori scanate din fluxul de intrare specificat.
5) Scaner (sursă care poate fi citită) Acesta construiește un nou Scanner care produce valori scanate din sursa specificată.
6) Scanner (sursă șir) Acesta construiește un nou Scanner care produce valori scanate din șirul specificat.
7) Scaner (sursa ReadableByteChannel) Acesta construiește un nou Scanner care produce valori scanate de pe canalul specificat.
8) Scanner (sursa ReadableByteChannel, String charsetName) Acesta construiește un nou Scanner care produce valori scanate de pe canalul specificat.
9) Scaner (sursa cale) Acesta construiește un nou Scanner care produce valori scanate din fișierul specificat.
10) Scanner (Sursa cale, String charsetName) Acesta construiește un nou Scanner care produce valori scanate din fișierul specificat.

Metode de clasă de scaner Java

Următoarele sunt lista metodelor de scanare:

SN Modificator și tip Metodă Descriere
1) gol închide() Este folosit pentru a închide acest scaner.
2) model delimitator() Este folosit pentru a obține modelul pe care clasa Scanner îl folosește în prezent pentru a potrivi delimitatorii.
3) Curent Găsiți toate() Este folosit pentru a găsi un flux de rezultate de potrivire care se potrivesc cu șirul de model furnizat.
4) Şir findInLine() Este folosit pentru a găsi următoarea apariție a unui model construit din șirul specificat, ignorând delimitatorii.
5) şir findWithinHorizon() Este folosit pentru a găsi următoarea apariție a unui model construit din șirul specificat, ignorând delimitatorii.
6) boolean areNext() Returnează adevărat dacă acest scanner are un alt simbol în intrare.
7) boolean hasNextBigDecimal() Este folosit pentru a verifica dacă următorul token din intrarea acestui scaner poate fi interpretat ca BigDecimal folosind metoda nextBigDecimal() sau nu.
8) boolean hasNextBigInteger() Este folosit pentru a verifica dacă următorul token din intrarea acestui scaner poate fi interpretat ca BigDecimal folosind metoda nextBigDecimal() sau nu.
9) boolean hasNextBoolean() Este folosit pentru a verifica dacă următorul token din intrarea acestui scaner poate fi interpretat ca un boolean folosind metoda nextBoolean() sau nu.
10) boolean areNextByte() Este folosit pentru a verifica dacă următorul token din intrarea acestui scaner poate fi interpretat ca un octet folosind metoda nextBigDecimal() sau nu.
unsprezece) boolean areNextDouble() Este folosit pentru a verifica dacă următorul token din intrarea acestui scaner poate fi interpretat ca BigDecimal folosind metoda nextByte() sau nu.
12) boolean hasNextFloat() Este folosit pentru a verifica dacă următorul token din intrarea acestui scaner poate fi interpretat ca un Float folosind metoda nextFloat() sau nu.
13) boolean hasNextInt() Este folosit pentru a verifica dacă următorul token din intrarea acestui scaner poate fi interpretat ca un int folosind metoda nextInt() sau nu.
14) boolean areNextLine() Este folosit pentru a verifica dacă există o altă linie în intrarea acestui scaner sau nu.
cincisprezece) boolean areNextLong() Este folosit pentru a verifica dacă următorul token din intrarea acestui scaner poate fi interpretat ca Long folosind metoda nextLong() sau nu.
16) boolean hasNextShort() Este folosit pentru a verifica dacă următorul token din intrarea acestui scaner poate fi interpretat ca un scurt folosind metoda nextShort() sau nu.
17) IOException ioException() Este folosit pentru a obține ultima excepție IOExcepție aruncată de acest scaner care poate fi citit.
18) Local local() Este folosit pentru a obține o locală a clasei Scanner.
19) MatchResult Meci() Este folosit pentru a obține rezultatul potrivirii ultimei operații de scanare efectuate de acest scaner.
douăzeci) Şir Următorul() Este folosit pentru a obține următorul token complet de la scanerul care este în uz.
douăzeci și unu) BigDecimal nextBigDecimal() Scanează următorul simbol al intrării ca BigDecimal.
22) BigInteger nextBigInteger() Scanează următorul simbol al intrării ca BigInteger.
23) boolean nextBoolean() Scanează următorul simbol al intrării într-o valoare booleană și returnează acea valoare.
24) octet nextByte() Scanează următorul simbol al intrării ca octet.
25) dubla următorulDublu() Scanează următorul simbol al intrării ca dublu.
26) pluti nextFloat() Scanează următorul simbol al intrării ca un float.
27) int nextInt() Scanează următorul simbol al intrării ca un Int.
28) Şir nextLine() Este folosit pentru a obține șirul de intrare care a fost omis din obiectul Scanner.
29) lung următorulLung() Scanează următorul simbol al intrării ca lung.
30) mic de statura nextShort() Scanează următorul simbol al intrării ca un scurt.
31) int radix() Este folosit pentru a obține radixul implicit al utilizării scanerului.
32) gol elimina() Este utilizat atunci când operația de eliminare nu este acceptată de această implementare a Iterator.
33) Scanner reset() Este folosit pentru a reseta scanerul care este în uz.
3. 4) Scanner ocolire() Omite intrarea care se potrivește cu modelul specificat, ignorând delimitatorii
35) Curent jetoane() Este folosit pentru a obține un flux de jetoane separate de delimitator de la obiectul Scanner care este în uz.
36) Şir toString() Este folosit pentru a obține reprezentarea în șir a Scanner folosind.
37) Scanner useDelimiter() Este folosit pentru a seta modelul de delimitare al scanerului care este utilizat la modelul specificat.
38) Scanner useLocale() Este folosit pentru a seta obiectul local al acestui scaner la locația specificată.
39) Scanner useRadix() Este folosit pentru a seta razele implicite ale scanerului care este utilizat la razele specificate.

Exemplul 1

Să vedem un exemplu simplu de scaner Java în care primim o singură intrare de la utilizator. Aici, cerem un șir prin metoda 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(); } } 

Ieșire:

 Enter your name: sonoo jaiswal Name is: sonoo jaiswal 

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

Ieșire:

 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 

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

Ieșire:

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