Skenera klase Java ir atrodama java.util pakotnē. Java nodrošina dažādus veidus, kā nolasīt ievadi no tastatūras, viena no tām ir java.util.Scanner klase.
Govinda aktieris
Java Scanner klase sadala ievadi marķieros, izmantojot atdalītāju, kas pēc noklusējuma ir atstarpe. Tas nodrošina daudzas metodes dažādu primitīvu vērtību lasīšanai un parsēšanai.
Java Scanner klase tiek plaši izmantota, lai parsētu tekstu virknēm un primitīviem veidiem, izmantojot regulāro izteiksmi. Tas ir vienkāršākais veids, kā iegūt ievadi Java. Izmantojot Java skeneri, mēs varam iegūt ievadi no lietotāja primitīvos veidos, piemēram, int, long, double, byte, float, short utt.
Java skenera klase paplašina objektu klasi un ievieš Iterator un Closeable saskarnes.
Java Scanner klase nodrošina nextXXX() metodes, lai atgrieztu vērtības veidu, piemēram, nextInt(), nextByte(), nextShort(), next(), nextLine(), nextDouble(), nextFloat(), nextBoolean() utt. Lai no skenera iegūtu vienu rakstzīmi, varat izsaukt next().charAt(0) metodi, kas atgriež vienu rakstzīmi.
Java skenera klases deklarācija
public final class Scanner extends Object implements Iterator
Kā iegūt Java skeneri
Lai iegūtu Java Scanner gadījumu, kas nolasa lietotāja ievadi, mums ir jānodod ievades straume (System.in) skenera klases konstruktorā. Piemēram:
Scanner in = new Scanner(System.in);
Lai iegūtu Java Scanner gadījumu, kas parsē virknes, mums ir jānodod virknes Scanner klases konstruktorā. Piemēram:
java virknes savienošana
Scanner in = new Scanner('Hello Javatpoint');
Java skenera klases konstruktori
SN | Konstruktors | Apraksts |
---|---|---|
1) | Skeneris (faila avots) | Tas izveido jaunu skeneri, kas rada vērtības, kas skenētas no norādītā faila. |
2) | Skeneris (faila avots, virknes rakstzīmju kopas nosaukums) | Tas izveido jaunu skeneri, kas rada vērtības, kas skenētas no norādītā faila. |
3) | Skeneris (InputStream avots) | Tas izveido jaunu skeneri, kas rada vērtības, kas skenētas no norādītās ievades straumes. |
4) | Skeneris (InputStream avots, virknes rakstzīmju kopas nosaukums) | Tas izveido jaunu skeneri, kas rada vērtības, kas skenētas no norādītās ievades straumes. |
5) | Skeneris (lasāms avots) | Tas izveido jaunu skeneri, kas rada vērtības, kas skenētas no norādītā avota. |
6) | Skeneris (virknes avots) | Tas izveido jaunu skeneri, kas rada vērtības, kas skenētas no norādītās virknes. |
7) | Skeneris (ReadableByteChannel avots) | Tas izveido jaunu skeneri, kas rada vērtības, kas skenētas no norādītā kanāla. |
8) | Skeneris (ReadableByteChannel avots, virknes rakstzīmju kopas nosaukums) | Tas izveido jaunu skeneri, kas rada vērtības, kas skenētas no norādītā kanāla. |
9) | Skeneris (ceļa avots) | Tas izveido jaunu skeneri, kas rada vērtības, kas skenētas no norādītā faila. |
10) | Skeneris (ceļa avots, virknes rakstzīmju kopas nosaukums) | Tas izveido jaunu skeneri, kas rada vērtības, kas skenētas no norādītā faila. |
Java skenera klases metodes
Tālāk ir sniegts skenera metožu saraksts.
SN | Modifikators un tips | Metode | Apraksts |
---|---|---|---|
1) | nederīgs | aizvērt () | To izmanto, lai aizvērtu šo skeneri. |
2) | modelis | norobežotājs () | To izmanto, lai iegūtu modeli, kuru skeneru klase pašlaik izmanto, lai saskaņotu atdalītājus. |
3) | Straume | atrast visu () | To izmanto, lai atrastu atbilstības rezultātu straumi, kas atbilst sniegtajai raksta virknei. |
4) | Stīga | findInLine() | To izmanto, lai atrastu nākamo no norādītās virknes izveidotā parauga gadījumu, ignorējot atdalītājus. |
5) | virkne | findWithinHorizon() | To izmanto, lai atrastu nākamo no norādītās virknes izveidotā parauga gadījumu, ignorējot atdalītājus. |
6) | Būla | hasNext() | Tas atgriež patieso vērtību, ja šī skenera ievadē ir cita pilnvara. |
7) | Būla | hasNextBigDecimal() | To izmanto, lai pārbaudītu, vai nākamo marķieri šī skenera ievadē var interpretēt kā BigDecimal, izmantojot metodi nextBigDecimal() vai ne. |
8) | Būla | hasNextBigInteger() | To izmanto, lai pārbaudītu, vai nākamo marķieri šī skenera ievadē var interpretēt kā BigDecimal, izmantojot metodi nextBigDecimal() vai ne. |
9) | Būla | hasNextBoolean() | To izmanto, lai pārbaudītu, vai nākamo marķieri šī skenera ievadē var interpretēt kā Būla vērtību, izmantojot nextBoolean() metodi. |
10) | Būla | hasNextByte() | To izmanto, lai pārbaudītu, vai nākamo marķieri šī skenera ievadē var interpretēt kā baitu, izmantojot nextBigDecimal() metodi. |
vienpadsmit) | Būla | hasNextDouble() | To izmanto, lai pārbaudītu, vai nākamo marķieri šī skenera ievadē var interpretēt kā BigDecimal, izmantojot metodi nextByte() vai ne. |
12) | Būla | hasNextFloat() | To izmanto, lai pārbaudītu, vai nākamo marķieri šī skenera ievadē var interpretēt kā Float, izmantojot nextFloat() metodi. |
13) | Būla | hasNextInt() | To izmanto, lai pārbaudītu, vai nākamo marķieri šī skenera ievadē var interpretēt kā int, izmantojot nextInt() metodi. |
14) | Būla | hasNextLine() | To izmanto, lai pārbaudītu, vai šī skenera ievadē ir vai nav cita rinda. |
piecpadsmit) | Būla | hasNextLong() | To izmanto, lai pārbaudītu, vai nākamo marķieri šī skenera ievadē var interpretēt kā garu, izmantojot metodi nextLong() vai ne. |
16) | Būla | hasNextShort() | To izmanto, lai pārbaudītu, vai nākamo marķieri šī skenera ievadē var interpretēt kā īsu, izmantojot metodi nextShort() vai nē. |
17) | IOIzņēmums | ioException() | Tas tiek izmantots, lai šī skenera IOException pēdējo reizi būtu lasāma. |
18) | Vietējais | vietējais () | To izmanto, lai iegūtu skenera klases lokalizāciju. |
19) | MatchResult | atbilst() | To izmanto, lai iegūtu pēdējās šī skenera veiktās skenēšanas darbības atbilstības rezultātu. |
divdesmit) | Stīga | Nākamais() | To izmanto, lai iegūtu nākamo pilno marķieri no skenera, kas tiek lietots. |
divdesmitviens) | BigDecimal | nextBigDecimal() | Tas skenē nākamo ievades marķieri kā BigDecimal. |
22) | BigInteger | nākamaisBigInteger() | Tas skenē nākamo ievades marķieri kā BigInteger. |
23) | Būla | nākamais Būla() | Tas skenē nākamo ievades marķieri Būla vērtībā un atgriež šo vērtību. |
24) | baits | nextByte() | Tas skenē nākamo ievades marķieri kā baitu. |
25) | dubultā | nākamaisDouble() | Tas skenē nākamo ievades marķieri kā dubultu. |
26) | peldēt | nextFloat() | Tas skenē nākamo ievades marķieri kā pludiņu. |
27) | starpt | nextInt() | Tas skenē nākamo ievades marķieri kā Int. |
28) | Stīga | nextLine() | To izmanto, lai iegūtu skenera objekta ievades virkni. |
29) | garš | nextLong() | Tas skenē nākamo ievades marķieri kā garu. |
30) | īss | nextShort() | Tas skenē nākamo ievades marķieri kā īsu. |
31) | starpt | radix() | To izmanto, lai iegūtu skenera lietojuma noklusējuma radiksi. |
32) | nederīgs | noņemt () | To izmanto, ja noņemšanas darbību neatbalsta šī Iterator ieviešana. |
33) | Skeneris | atiestatīt () | To izmanto, lai atiestatītu izmantoto skeneri. |
3. 4) | Skeneris | izlaist () | Tas izlaiž ievadi, kas atbilst norādītajam modelim, ignorējot atdalītājus |
35) | Straume | žetoni () | To izmanto, lai iegūtu ar atdalītājiem atdalītu marķieru straumi no skenera objekta, kas tiek izmantots. |
36) | Stīga | toString() | To izmanto, lai iegūtu skenera virknes attēlojumu, izmantojot. |
37) | Skeneris | useDelimiter() | To izmanto, lai iestatītu izmantotā skenera norobežojošo rakstu uz norādīto modeli. |
38) | Skeneris | useLocale() | To izmanto, lai iestatītu šī skenera lokalizācijas objektu norādītajā lokalizācijā. |
39) | Skeneris | useRadix() | To izmanto, lai iestatītu izmantotā skenera noklusējuma radiksu uz norādīto radiksu. |
1. piemērs
Apskatīsim vienkāršu Java skenera piemēru, kur mēs saņemam vienu ievadi no lietotāja. Šeit mēs prasām virkni, izmantojot in.nextLine() metodi.
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(); } }
Izvade:
Enter your name: sonoo jaiswal Name is: sonoo jaiswal
2. piemērs
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(); } }
Izvade:
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
3. piemērs
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(); } }
Izvade:
java pārtraukumam
Boolean Result: false ---Tokenizes String--- Hello This is JavaTpoint My name is Abhishek. Delimiter used: /