logo

Java scanner

Scannerklassen i Java findes i pakken java.util. Java giver forskellige måder at læse input fra tastaturet på, java.util.Scanner-klassen er en af ​​dem.

Java Scanner-klassen opdeler input i tokens ved hjælp af en afgrænsningstegn, som er blanktegn som standard. Det giver mange metoder til at læse og analysere forskellige primitive værdier.

Java Scanner-klassen er meget brugt til at parse tekst for strenge og primitive typer ved hjælp af et regulært udtryk. Det er den nemmeste måde at få input i Java. Ved hjælp af Scanner i Java kan vi få input fra brugeren i primitive typer som int, long, double, byte, float, short osv.

Java Scanner-klassen udvider Object-klassen og implementerer Iterator- og Closeable-grænseflader.

Java Scanner-klassen giver nextXXX() metoder til at returnere værditypen, såsom nextInt(), nextByte(), nextShort(), next(), nextLine(), nextDouble(), nextFloat(), nextBoolean() osv. For at få et enkelt tegn fra scanneren, kan du kalde next().charAt(0) metoden, som returnerer et enkelt tegn.

Java-scannerklasseerklæring

 public final class Scanner extends Object implements Iterator 

Sådan får du Java-scanner

For at få instansen af ​​Java Scanner, som læser input fra brugeren, skal vi sende inputstrømmen (System.in) i konstruktøren af ​​Scanner-klassen. For eksempel:

 Scanner in = new Scanner(System.in); 

For at få instansen af ​​Java Scanner, som parser strengene, skal vi videregive strengene i konstruktøren af ​​Scanner-klassen. For eksempel:

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

Java Scanner Class Constructors

SN Konstruktør Beskrivelse
1) Scanner (filkilde) Den konstruerer en ny scanner, der producerer værdier scannet fra den angivne fil.
2) Scanner (Filkilde, String CharsetName) Den konstruerer en ny scanner, der producerer værdier scannet fra den angivne fil.
3) Scanner (InputStream-kilde) Den konstruerer en ny scanner, der producerer værdier scannet fra den angivne inputstrøm.
4) Scanner (InputStream-kilde, String charsetName) Den konstruerer en ny scanner, der producerer værdier scannet fra den angivne inputstrøm.
5) Scanner (læsbar kilde) Den konstruerer en ny scanner, der producerer værdier scannet fra den angivne kilde.
6) Scanner (strengkilde) Den konstruerer en ny scanner, der producerer værdier scannet fra den angivne streng.
7) Scanner (ReadableByteChannel-kilde) Den konstruerer en ny scanner, der producerer værdier scannet fra den angivne kanal.
8) Scanner (ReadableByteChannel source, String charsetName) Den konstruerer en ny scanner, der producerer værdier scannet fra den angivne kanal.
9) Scanner (stikilde) Den konstruerer en ny scanner, der producerer værdier scannet fra den angivne fil.
10) Scanner (stikilde, strengtegnsætnavn) Den konstruerer en ny scanner, der producerer værdier scannet fra den angivne fil.

Java-scannerklassemetoder

Følgende er listen over scannermetoder:

SN Modifikator og type Metode Beskrivelse
1) ugyldig tæt() Den bruges til at lukke denne scanner.
2) mønster afgrænser() Det bruges til at få det mønster, som Scanner-klassen i øjeblikket bruger til at matche afgrænsere.
3) Strøm findAll() Det bruges til at finde en strøm af matchresultater, der matcher den angivne mønsterstreng.
4) Snor findInLine() Det bruges til at finde den næste forekomst af et mønster, der er konstrueret ud fra den angivne streng, og ignorerer skilletegn.
5) snor findWithinHorizon() Det bruges til at finde den næste forekomst af et mønster, der er konstrueret ud fra den angivne streng, og ignorerer skilletegn.
6) boolesk hasNext() Det returnerer sandt, hvis denne scanner har et andet token i sin input.
7) boolesk hasNextBigDecimal() Det bruges til at kontrollere, om det næste token i denne scanners input kan fortolkes som en BigDecimal ved hjælp af nextBigDecimal() metoden eller ej.
8) boolesk hasNextBigInteger() Det bruges til at kontrollere, om det næste token i denne scanners input kan fortolkes som en BigDecimal ved hjælp af nextBigDecimal() metoden eller ej.
9) boolesk hasNextBoolean() Det bruges til at kontrollere, om det næste token i denne scanners input kan fortolkes som en Boolean ved hjælp af nextBoolean() metoden eller ej.
10) boolesk hasNextByte() Det bruges til at kontrollere, om det næste token i denne scanners input kan fortolkes som en byte ved hjælp af metoden nextBigDecimal() eller ej.
elleve) boolesk hasNextDouble() Det bruges til at kontrollere, om det næste token i denne scanners input kan fortolkes som en BigDecimal ved hjælp af nextByte() metoden eller ej.
12) boolesk hasNextFloat() Det bruges til at kontrollere, om det næste token i denne scanners input kan fortolkes som en Float ved hjælp af nextFloat() metoden eller ej.
13) boolesk hasNextInt() Det bruges til at kontrollere, om det næste token i denne scanners input kan fortolkes som en int ved hjælp af nextInt() metoden eller ej.
14) boolesk hasNextLine() Den bruges til at kontrollere, om der er en anden linje i indgangen på denne scanner eller ej.
femten) boolesk hasNextLong() Det bruges til at kontrollere, om det næste token i denne scanners input kan fortolkes som en Long ved at bruge metoden nextLong() eller ej.
16) boolesk hasNextShort() Det bruges til at kontrollere, om det næste token i denne scanners input kan fortolkes som en Short ved hjælp af nextShort() metoden eller ej.
17) IOException ioException() Det bruges til at få IOException sidst kastet af denne scanner til at læse.
18) Lokal lokal() Det bruges til at få en lokalitet for Scanner-klassen.
19) MatchResultat match() Den bruges til at få matchresultatet af den sidste scanningsoperation udført af denne scanner.
tyve) Snor Næste() Det bruges til at hente det næste komplette token fra den scanner, som er i brug.
enogtyve) BigDecimal nextBigDecimal() Den scanner det næste token af ​​input som en BigDecimal.
22) Stort heltal nextBigInteger() Den scanner det næste token af ​​input som et BigInteger.
23) boolesk nextBoolean() Den scanner det næste token af ​​input til en boolesk værdi og returnerer denne værdi.
24) byte nextByte() Den scanner det næste token af ​​input som en byte.
25) dobbelt nextDouble() Den scanner det næste token af ​​input som en dobbelt.
26) flyde nextFloat() Den scanner det næste token af ​​input som en flyder.
27) int nextInt() Den scanner det næste token af ​​input som en Int.
28) Snor næste linje() Den bruges til at hente den inputstreng, der blev sprunget over af Scanner-objektet.
29) lang nextLong() Den scanner det næste token af ​​input som en lang.
30) kort nextShort() Den scanner det næste token af ​​input som en kort.
31) int radix() Det bruges til at få standardradixen for scannerens brug.
32) ugyldig fjerne() Det bruges, når fjernelsesoperationen ikke understøttes af denne implementering af Iterator.
33) Scanner Nulstil() Den bruges til at nulstille den scanner, der er i brug.
3. 4) Scanner springe() Den springer input over, der matcher det angivne mønster, og ignorerer afgrænsningstegn
35) Strøm tokens() Det bruges til at hente en strøm af afgrænser-separerede tokens fra scannerobjektet, som er i brug.
36) Snor toString() Det bruges til at få strengrepræsentationen af ​​Scanner ved hjælp af.
37) Scanner useDelimiter() Den bruges til at indstille afgrænsningsmønsteret for den scanner, som er i brug, til det angivne mønster.
38) Scanner useLocale() Den bruges til at indstille denne scanners lokalitetsobjekt til den angivne lokalitet.
39) Scanner useRadix() Den bruges til at indstille standardradiksen for den scanner, som er i brug, til den angivne radix.

Eksempel 1

Lad os se et simpelt eksempel på Java Scanner, hvor vi får et enkelt input fra brugeren. Her beder vi om en streng gennem metoden 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(); } } 

Produktion:

 Enter your name: sonoo jaiswal Name is: sonoo jaiswal 

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

Produktion:

 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 

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

Produktion:

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