Skannerklass i Java finns i paketet java.util. Java tillhandahåller olika sätt att läsa indata från tangentbordet, java.util.Scanner-klassen är ett av dem.
Java Scanner-klassen delar upp indata i tokens med hjälp av en avgränsare som är blanksteg som standard. Det ger många metoder för att läsa och analysera olika primitiva värden.
Word snabbåtkomst verktygsfält
Java Scanner-klassen används ofta för att analysera text för strängar och primitiva typer med hjälp av ett reguljärt uttryck. Det är det enklaste sättet att få input i Java. Med hjälp av Scanner i Java kan vi få input från användaren i primitiva typer som int, long, double, byte, float, short, etc.
Java Scanner-klassen utökar objektklassen och implementerar Iterator- och Closeable-gränssnitt.
Java Scanner-klassen tillhandahåller nextXXX()-metoder för att returnera värdetypen som nextInt(), nextByte(), nextShort(), next(), nextLine(), nextDouble(), nextFloat(), nextBoolean(), etc. För att få ett enstaka tecken från skannern kan du anropa metoden next().charAt(0) som returnerar ett enstaka tecken.
Java-skannerklassdeklaration
public final class Scanner extends Object implements Iterator
Hur man skaffar Java Scanner
För att få instansen av Java Scanner som läser indata från användaren, måste vi skicka indataströmmen (System.in) i konstruktorn för Scanner-klassen. Till exempel:
Scanner in = new Scanner(System.in);
För att få instansen av Java Scanner som analyserar strängarna måste vi skicka strängarna i konstruktorn för klassen Scanner. Till exempel:
Scanner in = new Scanner('Hello Javatpoint');
Java-skannerklasskonstruktörer
SN | Konstruktör | Beskrivning |
---|---|---|
1) | Skanner (filkälla) | Den konstruerar en ny skanner som producerar värden som skannas från den angivna filen. |
2) | Scanner (Filkälla, String CharsetName) | Den konstruerar en ny skanner som producerar värden som skannas från den angivna filen. |
3) | Scanner (InputStream-källa) | Den konstruerar en ny skanner som producerar värden som skannas från den angivna ingångsströmmen. |
4) | Scanner (InputStream-källa, String charsetName) | Den konstruerar en ny skanner som producerar värden som skannas från den angivna ingångsströmmen. |
5) | Skanner (läsbar källa) | Den konstruerar en ny skanner som producerar värden som skannas från den angivna källan. |
6) | Skanner (strängkälla) | Den konstruerar en ny skanner som producerar värden som skannas från den angivna strängen. |
7) | Scanner (ReadableByteChannel-källa) | Den konstruerar en ny skanner som producerar värden som skannas från den angivna kanalen. |
8) | Scanner (ReadableByteChannel-källa, String charsetName) | Den konstruerar en ny skanner som producerar värden som skannas från den angivna kanalen. |
9) | Skanner (sökvägskälla) | Den konstruerar en ny skanner som producerar värden som skannas från den angivna filen. |
10) | Skanner (sökvägskälla, sträng teckenuppsättningsnamn) | Den konstruerar en ny skanner som producerar värden som skannas från den angivna filen. |
Java-skannerklassmetoder
Följande är listan över skannermetoder:
SN | Modifierare & Typ | Metod | Beskrivning |
---|---|---|---|
1) | tomhet | stänga() | Den används för att stänga denna skanner. |
2) | mönster | avgränsare() | Den används för att hämta det mönster som skannerklassen för närvarande använder för att matcha avgränsare. |
3) | Ström | hitta alla() | Den används för att hitta en ström av matchningsresultat som matchar den angivna mönstersträngen. |
4) | Sträng | findInLine() | Den används för att hitta nästa förekomst av ett mönster som är konstruerat från den angivna strängen, och ignorerar avgränsare. |
5) | sträng | findWithinHorizon() | Den används för att hitta nästa förekomst av ett mönster som är konstruerat från den angivna strängen, och ignorerar avgränsare. |
6) | booleskt | hasNext() | Den returnerar sant om den här skannern har en annan token i sin inmatning. |
7) | booleskt | hasNextBigDecimal() | Den används för att kontrollera om nästa token i denna skanners indata kan tolkas som en BigDecimal med hjälp av metoden nextBigDecimal() eller inte. |
8) | booleskt | hasNextBigInteger() | Den används för att kontrollera om nästa token i denna skanners indata kan tolkas som en BigDecimal med hjälp av metoden nextBigDecimal() eller inte. |
9) | booleskt | hasNextBoolean() | Den används för att kontrollera om nästa token i denna skanners indata kan tolkas som en boolesk med hjälp av metoden nextBoolean() eller inte. |
10) | booleskt | hasNextByte() | Den används för att kontrollera om nästa token i denna skanners indata kan tolkas som en byte med metoden nextBigDecimal() eller inte. |
elva) | booleskt | hasNextDouble() | Den används för att kontrollera om nästa token i denna skanners indata kan tolkas som en BigDecimal med hjälp av metoden nextByte() eller inte. |
12) | booleskt | hasNextFloat() | Den används för att kontrollera om nästa token i denna skanners indata kan tolkas som en Float med metoden nextFloat() eller inte. |
13) | booleskt | hasNextInt() | Den används för att kontrollera om nästa token i denna skanners indata kan tolkas som en int med hjälp av metoden nextInt() eller inte. |
14) | booleskt | hasNextLine() | Den används för att kontrollera om det finns en annan linje i ingången på denna skanner eller inte. |
femton) | booleskt | hasNextLong() | Den används för att kontrollera om nästa token i denna skanners indata kan tolkas som en Long med hjälp av metoden nextLong() eller inte. |
16) | booleskt | hasNextShort() | Den används för att kontrollera om nästa token i denna skanners indata kan tolkas som en Short med metoden nextShort() eller inte. |
17) | IOException | ioException() | Den används för att få IOException senast läsbar av denna skanner. |
18) | Lokal | lokal() | Den används för att få en Locale av Scanner-klassen. |
19) | MatchResult | match() | Den används för att få matchningsresultatet av den senaste skanningsoperationen som utfördes av denna skanner. |
tjugo) | Sträng | Nästa() | Den används för att hämta nästa kompletta token från skannern som används. |
tjugoett) | BigDecimal | nextBigDecimal() | Den skannar nästa token av inmatningen som en BigDecimal. |
22) | BigInteger | nextBigInteger() | Den skannar nästa token av inmatningen som ett BigInteger. |
23) | booleskt | nextBoolean() | Den skannar nästa token av inmatningen till ett booleskt värde och returnerar det värdet. |
24) | byte | nextByte() | Den skannar nästa token av ingången som en byte. |
25) | dubbel | nextDouble() | Den skannar nästa token av ingången som en dubbel. |
26) | flyta | nextFloat() | Den skannar nästa token av ingången som en float. |
27) | int | nextInt() | Den skannar nästa token av ingången som en Int. |
28) | Sträng | nextLine() | Den används för att hämta indatasträngen som hoppades över av Scanner-objektet. |
29) | lång | nextLong() | Den skannar nästa token av ingången som en lång. |
30) | kort | nextShort() | Den skannar nästa token av ingången som en kort. |
31) | int | radix() | Den används för att få standardradix för skanneranvändningen. |
32) | tomhet | avlägsna() | Den används när borttagningsåtgärden inte stöds av denna implementering av Iterator. |
33) | Scanner | återställa() | Den används för att återställa skannern som används. |
3. 4) | Scanner | hoppa() | Den hoppar över indata som matchar det angivna mönstret och ignorerar avgränsare |
35) | Ström | tokens() | Den används för att få en ström av avgränsare-separerade tokens från Scanner-objektet som används. |
36) | Sträng | att stränga() | Den används för att få strängrepresentationen av Scanner med hjälp av. |
37) | Scanner | useDelimiter() | Den används för att ställa in avgränsningsmönstret för skannern som används till det angivna mönstret. |
38) | Scanner | useLocale() | Den används för att ställa in denna skanners lokalobjekt till den angivna lokalen. |
39) | Scanner | useRadix() | Den används för att ställa in standardradix för skannern som används till den specificerade radixen. |
Exempel 1
Låt oss se ett enkelt exempel på Java Scanner där vi får en enda input från användaren. Här ber vi om en sträng genom 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:
set vs karta
Enter your name: sonoo jaiswal Name is: sonoo jaiswal
Exempel 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
Exempel 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: /