Skener Java (s príkladmi)

V tomto výučbe sa pomocou príkladov dozvieme o Java Scanneri a jeho metódach.

ScannerTrieda java.utilbalíčka sa používa na čítanie vstupných dát z rôznych zdrojov, ako sú vstupné prúdy, užívateľov, súbory, atď Zoberme si príklad.

Príklad 1: Čítanie riadku textu pomocou skenera

 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(); ) )

Výkon

 Zadajte svoje meno: Kelvin Moje meno je Kelvin

Vo vyššie uvedenom príklade si všimnite riadok

 Scanner input = new Scanner(System.in);

Tu sme vytvorili objekt s Scannerpomenovaným vstupom.

System.inParameter sa používa, aby sa vstup zo štandardného vstupu. Funguje to rovnako ako pri prijímaní vstupov z klávesnice.

Potom sme použili nextLine()metódu Scannertriedy na načítanie riadku textu od používateľa.

Teraz, keď máte určitú predstavu Scanner, poďme o nej preskúmať viac.

Importovať triedu skenera

Ako vidíme z vyššie uvedeného príkladu, java.util.Scannerpred použitím Scannertriedy musíme balíček importovať .

 import java.util.Scanner;

Ak sa chcete dozvedieť viac informácií o importovaní balíkov, navštívte stránku Java Packages.

Vytvorte objekt skenera v prostredí Java

Po importovaní balíka tu môžeme vytvárať Scannerobjekty.

 // 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);

Tu sme vytvorili objekty Scannertriedy, ktoré budú čítať vstupy z InputStream, File a String.

Metódy skenera Java, ktoré umožňujú vstup

ScannerTrieda ponúka celý rad možností, ktoré nám umožňujú čítať vstupy rôznych typov.

Metóda Popis
nextInt() načíta inthodnotu od používateľa
nextFloat() načíta floathodnotu od používateľa
nextBoolean() načíta booleanhodnotu od používateľa
nextLine() prečíta riadok textu od používateľa
next() prečíta slovo od používateľa
nextByte() načíta bytehodnotu od používateľa
nextDouble() načíta doublhodnotu e od používateľa
nextShort() načíta shorthodnotu od používateľa
nextLong() načíta longhodnotu od používateľa

Príklad 2: Java Scanner 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(); ) )

Výkon

 Zadajte celé číslo: 22 Pomocou nextInt (): 22

Vo vyššie uvedenom príklade sme použili nextInt()metódu na načítanie celočíselnej hodnoty.

Príklad 3: Java Scanner 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(); ) )

Výkon

 Zadajte dvojnásobnú hodnotu: 33,33 Pomocou nextDouble (): 33,33

Vo vyššie uvedenom príklade sme použili nextDouble()metódu na načítanie hodnoty s pohyblivou rádovou čiarkou.

Príklad 4: Java Scanner next ()

 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(); ) )

Výkon

 Zadajte svoje meno: Jonny Walker Pomocou next (): Jonny

Vo vyššie uvedenom príklade sme použili next()metódu na načítanie reťazca od používateľa.

Tu sme uviedli celé meno. Avšak next()metóda číta iba krstné meno.

Je to tak preto, lebo next()metóda číta vstup až po znak medzery . Akonáhle sa vyskytne medzera , vráti reťazec (s výnimkou medzery).

Príklad 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(); ) )

Výkon

 Zadajte svoje meno: Jonny Walker Pomocou nextLine (): Jonny Walker

V prvom príklade sme použili nextLine()metódu na načítanie reťazca od používateľa.

Na rozdiel od next()tejto nextLine()metódy táto metóda číta celý riadok vstupu vrátane medzier. Tento spôsob je ukončený, keď narazí na ďalší riadok znaku .

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

ScannerTrieda číta celý riadok a rozdelí linku do tokenov. Tokeny sú malé prvky, ktoré majú pre kompilátor Java určitý význam. Napríklad,

Predpokladajme, že existuje vstupný reťazec:

 He is 22

V takom prípade objekt skenera prečíta celý riadok a rozdelí reťazec na tokeny: „ He “, „ is “ a „ 22 “. Objekt potom iteruje nad každým tokenom a číta každý token pomocou svojich rôznych metód.

Poznámka : Predvolene sa na rozdelenie tokenov používajú medzery.

Zaujímavé články...