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: /