Java-skanneriluokka löytyy java.util-paketista. Java tarjoaa useita tapoja lukea syötteitä näppäimistöltä, java.util.Scanner-luokka on yksi niistä.
Java Scanner -luokka jakaa syötteen tokeneihin käyttämällä erotinta, joka on oletuksena välilyönti. Se tarjoaa monia tapoja lukea ja jäsentää erilaisia primitiivisiä arvoja.
merkkijono vertaa c#
Java Scanner -luokkaa käytetään laajalti tekstin jäsentämiseen merkkijonoille ja primitiivisille tyypeille käyttämällä säännöllistä lauseketta. Se on yksinkertaisin tapa saada syöte Javassa. Java-skannerin avulla voimme saada syötteitä käyttäjältä primitiivisissä tyypeissä, kuten int, long, double, byte, float, short jne.
Java Scanner -luokka laajentaa Object-luokkaa ja toteuttaa Iterator- ja Closeable-liitännät.
Java Scanner -luokka tarjoaa nextXXX()-menetelmiä arvon tyypin palauttamiseksi, kuten nextInt(), nextByte(), nextShort(), next(), nextLine(), nextDouble(), nextFloat(), nextBoolean() jne. Saadaksesi yhden merkin skannerista, voit kutsua next().charAt(0)-metodia, joka palauttaa yhden merkin.
Java-skanneriluokkailmoitus
public final class Scanner extends Object implements Iterator
Kuinka saada Java Scanner
Saadaksemme Java Scannerin ilmentymän, joka lukee käyttäjän syötteitä, meidän on välitettävä syöttövirta (System.in) Scanner-luokan rakentajassa. Esimerkiksi:
Scanner in = new Scanner(System.in);
Saadaksemme Java Scannerin esiintymän, joka jäsentää merkkijonot, meidän on välitettävä merkkijonot Scanner-luokan rakentajassa. Esimerkiksi:
Scanner in = new Scanner('Hello Javatpoint');
Java Scanner -luokan rakentajat
SN | Rakentaja | Kuvaus |
---|---|---|
1) | Skanneri (tiedostolähde) | Se rakentaa uuden skannerin, joka tuottaa määritetystä tiedostosta skannatut arvot. |
2) | Skanneri (tiedostolähde, merkkijonon nimi) | Se rakentaa uuden skannerin, joka tuottaa määritetystä tiedostosta skannatut arvot. |
3) | Skanneri (InputStream-lähde) | Se rakentaa uuden skannerin, joka tuottaa määritetystä syöttövirrasta skannattuja arvoja. |
4) | Skanneri (InputStream-lähde, merkkijonon nimi) | Se rakentaa uuden skannerin, joka tuottaa määritetystä syöttövirrasta skannattuja arvoja. |
5) | Skanneri (luettava lähde) | Se rakentaa uuden skannerin, joka tuottaa määritetystä lähteestä skannatut arvot. |
6) | Skanneri (merkkijonolähde) | Se rakentaa uuden skannerin, joka tuottaa määritetystä merkkijonosta skannattuja arvoja. |
7) | Skanneri (ReadableByteChannel-lähde) | Se rakentaa uuden skannerin, joka tuottaa määritetystä kanavasta skannattuja arvoja. |
8) | Skanneri (ReadableByteChannel-lähde, merkkijonon nimi) | Se rakentaa uuden skannerin, joka tuottaa määritetystä kanavasta skannattuja arvoja. |
9) | Skanneri (polkulähde) | Se rakentaa uuden skannerin, joka tuottaa määritetystä tiedostosta skannatut arvot. |
10) | Skanneri (polkulähde, merkkijonon nimi) | Se rakentaa uuden skannerin, joka tuottaa määritetystä tiedostosta skannatut arvot. |
Java Scanner Class Methods
Seuraavassa on luettelo skannerimenetelmistä:
alimerkkijonomenetelmä javassa
SN | Muokkaus ja tyyppi | Menetelmä | Kuvaus |
---|---|---|---|
1) | mitätön | kiinni() | Sitä käytetään tämän skannerin sulkemiseen. |
2) | kuvio | erotin() | Sitä käytetään hakemaan kuvio, jota Scanner-luokka tällä hetkellä käyttää erottimien yhdistämiseen. |
3) | Striimaa | löydä kaikki () | Sitä käytetään hakutulosten virran etsimiseen, jotka vastaavat annettua kuviomerkkijonoa. |
4) | merkkijono | findInLine() | Sitä käytetään määritetystä merkkijonosta muodostetun kuvion seuraavan esiintymisen etsimiseen erottimet huomioimatta. |
5) | merkkijono | findWithinHorizon() | Sitä käytetään määritetystä merkkijonosta muodostetun kuvion seuraavan esiintymisen etsimiseen erottimet huomioimatta. |
6) | boolean | hasNext() | Palauttaa tosi, jos tämän skannerin syötteessä on toinen merkki. |
7) | boolean | hasNextBigDecimal() | Sitä käytetään tarkistamaan, voidaanko tämän skannerin syötteen seuraava merkki tulkita BigDecimaliksi nextBigDecimal()-menetelmällä vai ei. |
8) | boolean | hasNextBigInteger() | Sitä käytetään tarkistamaan, voidaanko tämän skannerin syötteen seuraava merkki tulkita BigDecimaliksi nextBigDecimal()-menetelmällä vai ei. |
9) | boolean | hasNextBoolean() | Sitä käytetään tarkistamaan, voidaanko tämän skannerin syötteen seuraava merkki tulkita Boolen arvoksi nextBoolean()-menetelmällä vai ei. |
10) | boolean | hasNextByte() | Sitä käytetään tarkistamaan, voidaanko tämän skannerin syötteen seuraava merkki tulkita tavuksi nextBigDecimal()-menetelmällä vai ei. |
yksitoista) | boolean | hasNextDouble() | Sitä käytetään tarkistamaan, voidaanko tämän skannerin syötteen seuraava merkki tulkita BigDecimaliksi nextByte()-menetelmällä vai ei. |
12) | boolean | hasNextFloat() | Sitä käytetään tarkistamaan, voidaanko tämän skannerin syötteen seuraava merkki tulkita Floatiksi nextFloat()-menetelmällä vai ei. |
13) | boolean | hasNextInt() | Sitä käytetään tarkistamaan, voidaanko tämän skannerin syötteen seuraava merkki tulkita int:ksi nextInt()-menetelmällä vai ei. |
14) | boolean | hasNextLine() | Sitä käytetään tarkistamaan, onko tämän skannerin tulossa toinen linja vai ei. |
viisitoista) | boolean | hasNextLong() | Sitä käytetään tarkistamaan, voidaanko tämän skannerin syötteen seuraava merkki tulkita Longiksi nextLong()-menetelmällä vai ei. |
16) | boolean | hasNextShort() | Sitä käytetään tarkistamaan, voidaanko tämän skannerin syötteen seuraava merkki tulkita Shortiksi nextShort()-menetelmällä vai ei. |
17) | IOException | ioException() | Sitä käytetään tämän skannerin viimeksi heittämän IOExceptionin lukemiseen. |
18) | Paikallinen | paikallinen () | Sitä käytetään Scanner-luokan kieliasetuksen saamiseksi. |
19) | MatchResult | ottelu() | Sitä käytetään tämän skannerin viimeisimmän skannaustoiminnon täsmäytystuloksen saamiseksi. |
kaksikymmentä) | merkkijono | Seuraava() | Sitä käytetään seuraavan täydellisen tunnuksen saamiseen käytössä olevasta skannerista. |
kaksikymmentäyksi) | BigDecimal | nextBigDecimal() | Se skannaa syötteen seuraavan tunnuksen BigDecimalina. |
22) | BigInteger | nextBigInteger() | Se skannaa syötteen seuraavan tunnuksen BigIntegerinä. |
23) | boolean | nextBoolean() | Se skannaa syötteen seuraavan tunnuksen loogisiksi arvoksi ja palauttaa tämän arvon. |
24) | tavu | nextByte() | Se skannaa syötteen seuraavan tokenin tavuna. |
25) | kaksinkertainen | nextDouble() | Se skannaa seuraavan syötteen tunnuksen kaksoiskappaleena. |
26) | kellua | nextFloat() | Se skannaa syötteen seuraavan tokenin kellukkeena. |
27) | int | nextInt() | Se skannaa syötteen seuraavan tunnuksen Int. |
28) | merkkijono | seuraava rivi() | Sitä käytetään hakemaan Scanner-objektin ohitettu syöttömerkkijono. |
29) | pitkä | seuraavaLong() | Se skannaa syötteen seuraavan merkin pitkänä. |
30) | lyhyt | nextShort() | Se skannaa seuraavan syötteen merkin oikosulkuna. |
31) | int | kantaluku() | Sitä käytetään skannerin käytön oletuskantaluvun saamiseksi. |
32) | mitätön | Poista() | Sitä käytetään, kun tämä Iterator-toteutus ei tue poistotoimintoa. |
33) | Skanneri | reset() | Sitä käytetään nollaamaan käytössä oleva skanneri. |
3. 4) | Skanneri | ohita() | Se ohittaa syötteen, joka vastaa määritettyä kuviota, jättäen huomioimatta erottimet |
35) | Striimaa | tokenit () | Sitä käytetään erottimella eroteltujen merkkien virran saamiseen käytössä olevasta skanneriobjektista. |
36) | merkkijono | toString() | Sitä käytetään skannerin merkkijonoesityksen saamiseksi käyttämällä. |
37) | Skanneri | useDelimiter() | Sitä käytetään määrittämään käytössä olevan skannerin rajauskuvio määritettyyn kuvioon. |
38) | Skanneri | useLocale() | Sitä käytetään määrittämään tämän skannerin alue-objekti määritettyyn alueeseen. |
39) | Skanneri | useRadix() | Sitä käytetään määrittämään käytössä olevan skannerin oletuskantainen kanta. |
Esimerkki 1
Katsotaanpa yksinkertainen esimerkki Java Scannerista, jossa saamme käyttäjältä yhden syötteen. Tässä pyydämme merkkijonoa in.nextLine()-menetelmän kautta.
font gimp
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(); } }
Lähtö:
Enter your name: sonoo jaiswal Name is: sonoo jaiswal
Esimerkki 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(); } }
Lähtö:
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
Esimerkki 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(); } }
Lähtö:
Boolean Result: false ---Tokenizes String--- Hello This is JavaTpoint My name is Abhishek. Delimiter used: /