logo

Java-scanner

De scannerklasse in Java is te vinden in het pakket java.util. Java biedt verschillende manieren om invoer van het toetsenbord te lezen, de klasse java.util.Scanner is daar een van.

De klasse Java Scanner verdeelt de invoer in tokens met behulp van een scheidingsteken dat standaard witruimte is. Het biedt vele methoden om verschillende primitieve waarden te lezen en te parseren.

De klasse Java Scanner wordt veel gebruikt om tekst te ontleden op tekenreeksen en primitieve typen met behulp van een reguliere expressie. Het is de eenvoudigste manier om invoer te krijgen in Java. Met behulp van Scanner in Java kunnen we input van de gebruiker krijgen in primitieve typen zoals int, long, double, byte, float, short, enz.

De Java Scanner-klasse breidt de Object-klasse uit en implementeert Iterator- en Closeable-interfaces.

De klasse Java Scanner biedt nextXXX()-methoden om het type waarde te retourneren, zoals nextInt(), nextByte(), nextShort(), next(), nextLine(), nextDouble(), nextFloat(), nextBoolean(), enz. Om één enkel teken uit de scanner te halen, kunt u de methode next().charAt(0) aanroepen, die één enkel teken retourneert.

Verklaring van Java-scannerklasse

 public final class Scanner extends Object implements Iterator 

Hoe Java-scanner te verkrijgen

Om het exemplaar van Java Scanner te krijgen dat de invoer van de gebruiker leest, moeten we de invoerstroom (System.in) doorgeven aan de constructor van de Scanner-klasse. Bijvoorbeeld:

netwerkbesturingssysteem
 Scanner in = new Scanner(System.in); 

Om de instantie van Java Scanner te krijgen die de strings parseert, moeten we de strings doorgeven in de constructor van de Scanner-klasse. Bijvoorbeeld:

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

Constructors van Java-scannerklassen

SN Constructeur Beschrijving
1) Scanner (bestandsbron) Het bouwt een nieuwe scanner die waarden produceert die zijn gescand uit het opgegeven bestand.
2) Scanner (bestandsbron, tekenreeksnaam) Het bouwt een nieuwe scanner die waarden produceert die zijn gescand uit het opgegeven bestand.
3) Scanner (InputStream-bron) Het bouwt een nieuwe scanner die waarden produceert die zijn gescand uit de opgegeven invoerstroom.
4) Scanner (InputStream-bron, String charsetName) Het bouwt een nieuwe scanner die waarden produceert die zijn gescand uit de opgegeven invoerstroom.
5) Scanner (leesbare bron) Het bouwt een nieuwe scanner die waarden produceert die zijn gescand vanuit de opgegeven bron.
6) Scanner (tekenreeksbron) Het bouwt een nieuwe scanner die waarden produceert die zijn gescand op basis van de opgegeven tekenreeks.
7) Scanner (ReadableByteChannel-bron) Het bouwt een nieuwe scanner die waarden produceert die zijn gescand vanuit het opgegeven kanaal.
8) Scanner (ReadableByteChannel-bron, String charsetName) Het bouwt een nieuwe scanner die waarden produceert die zijn gescand vanuit het opgegeven kanaal.
9) Scanner (padbron) Het bouwt een nieuwe scanner die waarden produceert die zijn gescand uit het opgegeven bestand.
10) Scanner (padbron, tekenreeksnaam) Het bouwt een nieuwe scanner die waarden produceert die zijn gescand uit het opgegeven bestand.

Java Scanner Class-methoden

Hieronder vindt u een lijst met scannermethoden:

Java-lijstknooppunt
SN Modificator en type Methode Beschrijving
1) leegte dichtbij() Het wordt gebruikt om deze scanner te sluiten.
2) patroon scheidingsteken() Het wordt gebruikt om het patroon te verkrijgen dat de klasse Scanner momenteel gebruikt om de begrenzers te matchen.
3) Stroom vind alle() Het wordt gebruikt om een ​​stroom wedstrijdresultaten te vinden die overeenkomen met de opgegeven patroonreeks.
4) Snaar vindInLijn() Het wordt gebruikt om het volgende exemplaar te vinden van een patroon dat is opgebouwd uit de opgegeven tekenreeks, waarbij scheidingstekens worden genegeerd.
5) snaar vindBinnenHorizon() Het wordt gebruikt om het volgende exemplaar te vinden van een patroon dat is opgebouwd uit de opgegeven tekenreeks, waarbij scheidingstekens worden genegeerd.
6) Booleaans heeftVolgende() Het retourneert waar als deze scanner een ander token in zijn invoer heeft.
7) Booleaans hasNextBigDecimal() Het wordt gebruikt om te controleren of het volgende token in de invoer van deze scanner kan worden geïnterpreteerd als een BigDecimal met behulp van de nextBigDecimal() -methode of niet.
8) Booleaans hasNextBigInteger() Het wordt gebruikt om te controleren of het volgende token in de invoer van deze scanner kan worden geïnterpreteerd als een BigDecimal met behulp van de nextBigDecimal() -methode of niet.
9) Booleaans hasNextBoolean() Het wordt gebruikt om te controleren of het volgende token in de invoer van deze scanner kan worden geïnterpreteerd als een Booleaanse waarde met behulp van de nextBoolean()-methode of niet.
10) Booleaans heeftNextByte() Het wordt gebruikt om te controleren of het volgende token in de invoer van deze scanner kan worden geïnterpreteerd als een byte met behulp van de nextBigDecimal() -methode of niet.
elf) Booleaans hasNextDouble() Het wordt gebruikt om te controleren of het volgende token in de invoer van deze scanner kan worden geïnterpreteerd als een BigDecimal met behulp van de nextByte() -methode of niet.
12) Booleaans hasNextFloat() Het wordt gebruikt om te controleren of het volgende token in de invoer van deze scanner kan worden geïnterpreteerd als een Float met behulp van de nextFloat() -methode of niet.
13) Booleaans heeftVolgendeInt() Het wordt gebruikt om te controleren of het volgende token in de invoer van deze scanner kan worden geïnterpreteerd als een int met behulp van de nextInt()-methode of niet.
14) Booleaans hasNextLine() Het wordt gebruikt om te controleren of er een andere lijn in de ingang van deze scanner zit of niet.
vijftien) Booleaans heeftVolgendeLang() Het wordt gebruikt om te controleren of het volgende token in de invoer van deze scanner kan worden geïnterpreteerd als een Long met behulp van de nextLong() -methode of niet.
16) Booleaans hasNextShort() Het wordt gebruikt om te controleren of het volgende token in de invoer van deze scanner kan worden geïnterpreteerd als een Short met behulp van de nextShort()-methode of niet.
17) IOUitzondering ioException() Het wordt gebruikt om de IOException die het laatst door deze scanner is gegenereerd leesbaar te maken.
18) Lokaal lokaal() Het wordt gebruikt om een ​​landinstelling van de klasse Scanner op te halen.
19) MatchResultaat overeenkomst() Het wordt gebruikt om het matchresultaat te verkrijgen van de laatste scanbewerking die door deze scanner is uitgevoerd.
twintig) Snaar volgende() Het wordt gebruikt om het volgende volledige token te verkrijgen van de scanner die in gebruik is.
eenentwintig) GrootDecimaal volgendeBigDecimal() Het scant het volgende token van de invoer als een BigDecimal.
22) BigInteger volgendeBigInteger() Het scant het volgende token van de invoer als een BigInteger.
23) Booleaans volgendeBoolean() Het scant het volgende token van de invoer naar een Booleaanse waarde en retourneert die waarde.
24) byte volgendeByte() Het scant het volgende token van de invoer als een byte.
25) dubbele volgendeDubbel() Het scant het volgende token van de invoer als een dubbel.
26) vlot volgendeFloat() Het scant het volgende token van de invoer als een float.
27) int volgendeInt() Het scant het volgende token van de invoer als een Int.
28) Snaar volgenderegel() Het wordt gebruikt om de invoerreeks op te halen die is overgeslagen van het Scanner-object.
29) lang volgendeLang() Het scant het volgende token van de invoer als een long.
30) kort volgendeKort() Het scant het volgende token van de invoer als een kortsluiting.
31) int radix() Het wordt gebruikt om de standaardradix van het scannergebruik te verkrijgen.
32) leegte verwijderen() Het wordt gebruikt wanneer de verwijderbewerking niet wordt ondersteund door deze implementatie van Iterator.
33) Scanner opnieuw instellen() Het wordt gebruikt om de scanner die in gebruik is te resetten.
3. 4) Scanner overslaan() Het slaat invoer over die overeenkomt met het opgegeven patroon en negeert scheidingstekens
35) Stroom Munten() Het wordt gebruikt om een ​​stroom door scheidingstekens gescheiden tokens op te halen van het Scanner-object dat in gebruik is.
36) Snaar toString() Het wordt gebruikt om de stringrepresentatie van Scanner te verkrijgen.
37) Scanner gebruikDelimiter() Het wordt gebruikt om het scheidingspatroon van de scanner die in gebruik is, in te stellen op het opgegeven patroon.
38) Scanner gebruikLokale() Het wordt gebruikt om het locale-object van deze scanner in te stellen op de opgegeven locale.
39) Scanner gebruikRadix() Het wordt gebruikt om de standaardradix van de scanner die in gebruik is, in te stellen op de opgegeven radix.

voorbeeld 1

Laten we een eenvoudig voorbeeld bekijken van Java Scanner waarbij we één enkele invoer van de gebruiker krijgen. Hier vragen we om een ​​string via de methode 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(); } } 

Uitgang:

 Enter your name: sonoo jaiswal Name is: sonoo jaiswal 

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

Uitgang:

 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 

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

Uitgang:

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