Šioje pamokoje su pavyzdžių pagalba sužinosime apie „Java“ skaitytuvą ir jo metodus.
Scanner
Klasės java.util
pakuotėje yra naudojamas skaityti įvesties duomenis iš įvairių šaltinių, pavyzdžiui, įėjimo srautų, vartotojų, failų ir tt Paimkime pavyzdį.
1 pavyzdys: skaitykite teksto eilutę naudodami skaitytuvą
import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // takes input from the keyboard String name = input.nextLine(); // prints the name System.out.println("My name is " + name); // closes the scanner input.close(); ) )
Rezultatas
Įveskite savo vardą: Kelvinas Mano vardas Kelvinas
Ankstesniame pavyzdyje atkreipkite dėmesį į eilutę
Scanner input = new Scanner(System.in);
Čia mes sukūrėme Scanner
pavadinto įvesties objektą .
System.in
Parametras yra naudojama imtis įvestį iš standartinio įvesties. Tai veikia taip pat, kaip imti įvestis iš klaviatūros.
Tada mes naudojome klasės nextLine()
metodą, Scanner
norėdami nuskaityti vartotojo teksto eilutę.
Dabar, kai turite idėjų apie tai Scanner
, panagrinėkime daugiau apie tai.
Importuoti skaitytuvo klasę
Kaip matome iš aukščiau pateikto pavyzdžio, java.util.Scanner
prieš pradėdami naudoti Scanner
klasę , turime importuoti paketą .
import java.util.Scanner;
Norėdami sužinoti daugiau apie paketų importavimą, apsilankykite „Java Packages“.
Sukurkite skaitytuvo objektą „Java“
Kai importuosime paketą, štai kaip galime sukurti Scanner
objektus.
// read input from the input stream Scanner sc1 = new Scanner(InputStream input); // read input from files Scanner sc2 = new Scanner(File file); // read input from a string Scanner sc3 = new Scanner(String str);
Čia sukūrėme Scanner
klasės objektus , kurie skaitys įvestį iš „InputStream“, „File“ ir „String“.
„Java“ skaitytuvo metodai įvestis
Scanner
Klasė teikia įvairius metodus, kurie leidžia mums skaityti įėjimai skirtingų tipų.
Metodas | apibūdinimas |
---|---|
nextInt() | nuskaito int vartotojo vertę |
nextFloat() | nuskaito float vartotojo formos vertę |
nextBoolean() | nuskaito boolean vartotojo vertę |
nextLine() | skaito vartotojo teksto eilutę |
next() | skaito vartotojo žodį |
nextByte() | nuskaito byte vartotojo vertę |
nextDouble() | nuskaito doubl vartotojo e vertę |
nextShort() | nuskaito short vartotojo vertę |
nextLong() | nuskaito long vartotojo vertę |
2 pavyzdys: „Java“ skaitytuvas nextInt ()
import java.util.Scanner; class Main ( public static void main(String() args) ( // creates a Scanner object Scanner input = new Scanner(System.in); System.out.println("Enter an integer: "); // reads an int value int data1 = input.nextInt(); System.out.println("Using nextInt(): " + data1); input.close(); ) )
Rezultatas
Įveskite sveiką skaičių: 22 Naudojant nextInt (): 22
Ankstesniame pavyzdyje mes naudojome nextInt()
metodą sveikam skaičiui nuskaityti.
3 pavyzdys: „Java“ skaitytuvas nextDouble ()
import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter Double value: "); // reads the double value double value = input.nextDouble(); System.out.println("Using nextDouble(): " + value); input.close(); ) )
Rezultatas
Įveskite dvigubą vertę: 33,33 Naudojant „nextDouble“ (): 33,33
Ankstesniame pavyzdyje mes naudojome nextDouble()
metodą slankiojo kablelio vertei nuskaityti.
4 pavyzdys: Kitas „Java“ skaitytuvas ()
import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // reads the entire word String value = input.next(); System.out.println("Using next(): " + value); input.close(); ) )
Rezultatas
Įveskite savo vardą: Jonny Walker Naudojant kitą (): Jonny
Ankstesniame pavyzdyje mes naudojome next()
metodą skaityti eilutę iš vartotojo.
Čia mes pateikėme visą vardą. Tačiau next()
metodas skaito tik vardą.
Taip yra todėl, kad next()
metodas nuskaito įvestį iki tarpo . Kai tarpai yra aptinkamas, jis grąžina eilutę (išskyrus tarpų).
5 pavyzdys: „Java“ skaitytuvas nextLine ()
import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // reads the entire line String value = input.nextLine(); System.out.println("Using nextLine(): " + value); input.close(); ) )
Rezultatas
Įveskite savo vardą: Jonny Walker Naudojant nextLine (): Jonny Walker
Pirmajame pavyzdyje mes naudojome nextLine()
metodą, norėdami nuskaityti eilutę iš vartotojo.
Priešingai next()
, nextLine()
metodas nuskaito visą įvesties eilutę, įskaitant tarpus. Metodas nutraukiamas, kai jis susiduria su kitu eilutės simboliu .
Recommended Reading: Java Scanner skipping the nextLine().
Java Scanner with BigInteger and BigDecimal
Java scanner can also be used to read the big integer and big decimal numbers.
- nextBigInteger() - reads the big integer value from the user
- nextBigDecimal() - reads the big decimal value from the user
Example 4: Read BigInteger and BigDecimal
import java.math.BigDecimal; import java.math.BigInteger; import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter a big integer: "); // reads the big integer BigInteger value1 = input.nextBigInteger(); System.out.println("Using nextBigInteger(): " + value1); System.out.print("Enter a big decimal: "); // reads the big decimal BigDecimal value2 = input.nextBigDecimal(); System.out.println("Using nextBigDecimal(): " + value2); input.close(); ) )
Output
Enter a big integer: 987654321 Using nextBigInteger(): 987654321 Enter a big decimal: 9.55555 Using nextBigDecimal(): 9.55555
In the above example, we have used the java.math.BigInteger
and java.math.BigDecimal
package to read BigInteger
and BigDecimal
respectively.
Working of Java Scanner
Scanner
Klasė perskaito visą eilutę ir dalija eilutę į žetonus. Žetonai yra maži elementai, turintys tam tikrą reikšmę Java kompiliatoriui. Pavyzdžiui,
Tarkime, kad yra įvesties eilutė:
He is 22
Tokiu atveju skaitytuvo objektas perskaitys visą eilutę ir padalins eilutę į žetonus: „ Jis “, „ yra “ ir „ 22 “. Tada objektas pakartoja kiekvieną prieigos raktą ir perskaito kiekvieną prieigos raktą naudodamas skirtingus metodus.
Pastaba : Pagal numatytuosius nustatymus žetonų dalijimui naudojama tarpai.