Tässä opetusohjelmassa opit Java Scannerista ja sen menetelmistä esimerkkien avulla.
Scanner
Luokka java.util
paketin voi lukea syöttää tietoja eri lähteistä, kuten tuotantopanoksia, käyttäjät, tiedostot jne Otetaanpa esimerkki.
Esimerkki 1: Lue tekstirivi skannerilla
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(); ) )
Tuotos
Kirjoita nimesi: Kelvin Nimeni on Kelvin
Huomaa yllä olevassa esimerkissä viiva
Scanner input = new Scanner(System.in);
Tässä olemme luoneet Scanner
nimeltään syötetyn objektin .
System.in
Parametria käytetään ottamaan panos vakiosyötöstä. Se toimii aivan kuten ottamalla sisääntulot näppäimistöltä.
Olemme sitten käyttäneet nextLine()
menetelmää Scanner
luokan lukea rivi tekstiä käyttäjältä.
Nyt kun sinulla on jonkinlainen käsitys siitä Scanner
, tutkitaan lisää siitä.
Tuo skanneriluokka
Kuten voimme nähdä yllä olevasta esimerkistä, meidän on tuotava java.util.Scanner
paketti, ennen kuin voimme käyttää Scanner
luokkaa.
import java.util.Scanner;
Lisätietoja pakettien tuonnista on Java-paketeissa.
Luo skanneriobjekti Java-tiedostossa
Kun tuot paketin, voimme luoda Scanner
esineitä seuraavasti.
// 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);
Tässä olemme luoneet Scanner
luokan objektit, jotka lukevat vastaavasti InputStream-, File- ja String-syötteet.
Java-skannerimenetelmät syötteen ottamiseksi
Scanner
Luokka tarjoaa erilaisia menetelmiä, joiden avulla voimme lukea tuotantopanosten erityyppisiä.
Menetelmä | Kuvaus |
---|---|
nextInt() | lukee int käyttäjän arvon |
nextFloat() | lukee float käyttäjän arvolomakkeen |
nextBoolean() | lukee boolean käyttäjän arvon |
nextLine() | lukee tekstirivin käyttäjältä |
next() | lukee käyttäjän sanan |
nextByte() | lukee byte käyttäjän arvon |
nextDouble() | lukee doubl käyttäjältä e-arvon |
nextShort() | lukee short käyttäjän arvon |
nextLong() | lukee long käyttäjän arvon |
Esimerkki 2: Java-skanneri 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(); ) )
Tuotos
Syötä kokonaisluku: 22 NextInt (): n avulla: 22
Yllä olevassa esimerkissä olemme käyttäneet nextInt()
menetelmää kokonaisluvun lukemiseen.
Esimerkki 3: Java-skanneri 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(); ) )
Tuotos
Syötä kaksinkertainen arvo: 33,33 nextDouble (): n käyttö: 33,33
Yllä olevassa esimerkissä olemme käyttäneet nextDouble()
menetelmää liukulukuarvon lukemiseen.
Esimerkki 4: Java-skanneri seuraava ()
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(); ) )
Tuotos
Anna nimesi: Jonny Walker Seuraava (): Jonny
Yllä olevassa esimerkissä olemme käyttäneet next()
menetelmää lukemaan merkkijono käyttäjältä.
Tässä olemme toimittaneet koko nimen. next()
Menetelmä lukee kuitenkin vain etunimen.
Tämä johtuu siitä, että next()
menetelmä lukee syötteen välilyöntiin asti . Kun tyhjätila on kohdattu, se palauttaa merkkijonon (lukuun ottamatta tyhjää tilaa).
Esimerkki 5: Java Scanner 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(); ) )
Tuotos
Kirjoita nimesi: Jonny Walker NextLine (): Jonny Walker
Ensimmäisessä esimerkissä olemme käyttäneet nextLine()
menetelmää lukemaan merkkijono käyttäjältä.
Toisin next()
, nextLine()
menetelmä lukee koko rivin syötteestä, mukaan lukien tilat. Menetelmä lopetetaan, kun se kohtaa seuraavan rivin merkki, .
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
Luokka lukee koko rivin ja jakaa rivi kuponkia. Tunnukset ovat pieniä elementtejä, joilla on jonkinlainen merkitys Java-kääntäjälle. Esimerkiksi,
Oletetaan, että on syötemerkkijono:
He is 22
Tässä tapauksessa skanneriobjekti lukee koko rivin ja jakaa merkkijonon rahakkeiksi: " Hän ", " on " ja " 22 ". Sitten objekti iteroi jokaisen tunnuksen ja lukee jokaisen tunnuksen eri menetelmillä.
Huomaa : Tunnusten jakamiseen käytetään oletusarvoisesti välilyöntiä.