logo

Java skanner

Skannerklassen i Java finnes i pakken java.util. Java gir ulike måter å lese inndata fra tastaturet på, java.util.Scanner-klassen er en av dem.

Java Scanner-klassen deler inndataene inn i tokens ved hjelp av et skilletegn som er mellomrom som standard. Det gir mange metoder for å lese og analysere ulike primitive verdier.

Java Scanner-klassen er mye brukt til å analysere tekst for strenger og primitive typer ved å bruke et regulært uttrykk. Det er den enkleste måten å få input i Java. Ved hjelp av Scanner i Java kan vi få input fra brukeren i primitive typer som int, long, double, byte, float, short, etc.

Java Scanner-klassen utvider Objektklassen og implementerer Iterator- og Closeable-grensesnitt.

Java Scanner-klassen gir nextXXX()-metoder for å returnere verditypen som nextInt(), nextByte(), nextShort(), next(), nextLine(), nextDouble(), nextFloat(), nextBoolean(), osv. For å få et enkelt tegn fra skanneren, kan du kalle neste().charAt(0)-metoden som returnerer et enkelt tegn.

Klasseerklæring for Java-skanner

 public final class Scanner extends Object implements Iterator 

Hvordan få Java-skanner

For å få forekomsten av Java Scanner som leser input fra brukeren, må vi sende inndatastrømmen (System.in) i konstruktøren til Scanner-klassen. For eksempel:

 Scanner in = new Scanner(System.in); 

For å få forekomsten av Java Scanner som analyserer strengene, må vi sende strengene i konstruktøren til Scanner-klassen. For eksempel:

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

Java Scanner Class Constructors

SN Konstruktør Beskrivelse
1) Skanner (filkilde) Den konstruerer en ny skanner som produserer verdier skannet fra den angitte filen.
2) Skanner (filkilde, strengtegnsettnavn) Den konstruerer en ny skanner som produserer verdier skannet fra den angitte filen.
3) Skanner (InputStream-kilde) Den konstruerer en ny skanner som produserer verdier skannet fra den angitte inngangsstrømmen.
4) Skanner (InputStream-kilde, String charsetName) Den konstruerer en ny skanner som produserer verdier skannet fra den angitte inngangsstrømmen.
5) Skanner (lesbar kilde) Den konstruerer en ny skanner som produserer verdier skannet fra den angitte kilden.
6) Skanner (strengkilde) Den konstruerer en ny skanner som produserer verdier skannet fra den angitte strengen.
7) Skanner (ReadableByteChannel-kilde) Den konstruerer en ny skanner som produserer verdier skannet fra den angitte kanalen.
8) Skanner (ReadableByteChannel-kilde, String charsetName) Den konstruerer en ny skanner som produserer verdier skannet fra den angitte kanalen.
9) Skanner (banekilde) Den konstruerer en ny skanner som produserer verdier skannet fra den angitte filen.
10) Skanner (banekilde, strengtegnsettnavn) Den konstruerer en ny skanner som produserer verdier skannet fra den angitte filen.

Klassemetoder for Java-skanner

Følgende er listen over skannermetoder:

SN Modifikator og type Metode Beskrivelse
1) tomrom Lukk() Den brukes til å lukke denne skanneren.
2) mønster skilletegn() Den brukes til å hente mønsteret som Scanner-klassen bruker for å matche skilletegn.
3) Strøm finnAlle() Den brukes til å finne en strøm av kampresultater som samsvarer med den angitte mønsterstrengen.
4) String findInLine() Den brukes til å finne neste forekomst av et mønster konstruert fra den angitte strengen, og ignorerer skilletegn.
5) streng findWithinHorizon() Den brukes til å finne neste forekomst av et mønster konstruert fra den angitte strengen, og ignorerer skilletegn.
6) boolsk hasNext() Den returnerer sann hvis denne skanneren har et annet token i inngangen.
7) boolsk hasNextBigDecimal() Den brukes til å sjekke om neste token i denne skannerens inngang kan tolkes som en BigDecimal ved å bruke nextBigDecimal()-metoden eller ikke.
8) boolsk hasNextBigInteger() Den brukes til å sjekke om neste token i denne skannerens inngang kan tolkes som en BigDecimal ved å bruke nextBigDecimal()-metoden eller ikke.
9) boolsk hasNextBoolean() Den brukes til å sjekke om neste token i denne skannerens inngang kan tolkes som en boolsk ved å bruke nextBoolean()-metoden eller ikke.
10) boolsk hasNextByte() Den brukes til å sjekke om neste token i denne skannerens inngang kan tolkes som en byte ved å bruke nextBigDecimal()-metoden eller ikke.
elleve) boolsk hasNextDouble() Den brukes til å sjekke om neste token i denne skannerens inngang kan tolkes som en BigDecimal ved bruk av nextByte()-metoden eller ikke.
12) boolsk hasNextFloat() Den brukes til å sjekke om neste token i denne skannerens inngang kan tolkes som en Float ved å bruke nextFloat()-metoden eller ikke.
1. 3) boolsk hasNextInt() Den brukes til å sjekke om neste token i denne skannerens inngang kan tolkes som en int ved hjelp av nextInt()-metoden eller ikke.
14) boolsk hasNextLine() Den brukes til å sjekke om det er en annen linje i inngangen til denne skanneren eller ikke.
femten) boolsk hasNextLong() Den brukes til å sjekke om neste token i denne skannerens inngang kan tolkes som en Long ved å bruke nextLong()-metoden eller ikke.
16) boolsk hasNextShort() Den brukes til å sjekke om neste token i denne skannerens inngang kan tolkes som en Short ved å bruke nextShort()-metoden eller ikke.
17) IOException ioException() Den brukes til å få IOException sist kastet av denne skanneren til å leses.
18) Lokalt lokal() Den brukes til å få en Locale for Scanner-klassen.
19) MatchResultat kamp() Den brukes til å få matchresultatet av den siste skanneoperasjonen utført av denne skanneren.
tjue) String neste() Den brukes til å hente neste komplette token fra skanneren som er i bruk.
tjueen) BigDesimal nextBigDecimal() Den skanner neste token av inngangen som en BigDesimal.
22) Stort heltall nextBigInteger() Den skanner neste token av inngangen som et BigInteger.
23) boolsk nextBoolean() Den skanner neste token av inndata til en boolsk verdi og returnerer denne verdien.
24) byte nextByte() Den skanner neste token av inngangen som en byte.
25) dobbelt nextDouble() Den skanner neste token av inngangen som en dobbel.
26) flyte nextFloat() Den skanner neste token av inngangen som en flyte.
27) int nextInt() Den skanner neste token av inngangen som en Int.
28) String nextLine() Den brukes til å hente inn-strengen som ble hoppet over av skannerobjektet.
29) lang nextLong() Den skanner neste token av inngangen som en lang.
30) kort nextShort() Den skanner neste token av inngangen som en kort.
31) int radix() Den brukes til å få standardradix for skannerbruken.
32) tomrom fjerne() Den brukes når fjerningsoperasjonen ikke støttes av denne implementeringen av Iterator.
33) Skanner nullstille() Den brukes til å tilbakestille skanneren som er i bruk.
3. 4) Skanner hoppe over() Den hopper over inndata som samsvarer med det angitte mønsteret, og ignorerer skilletegn
35) Strøm tokens() Den brukes til å få en strøm av skilletegn-separerte tokens fra skannerobjektet som er i bruk.
36) String toString() Den brukes til å få strengrepresentasjonen av Scanner ved hjelp av.
37) Skanner useDelimiter() Den brukes til å sette avgrensningsmønsteret til skanneren som er i bruk til det angitte mønsteret.
38) Skanner useLocale() Den brukes til å sette denne skannerens lokalitetsobjekt til den angitte lokaliteten.
39) Skanner useRadix() Den brukes til å sette standard radix for skanneren som er i bruk til den spesifiserte radixen.

Eksempel 1

La oss se et enkelt eksempel på Java Scanner hvor vi får en enkelt inngang fra brukeren. Her ber vi om en streng gjennom 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(); } } 

Produksjon:

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

Produksjon:

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

Produksjon:

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