Skener Java (s příklady)

V tomto výukovém programu se na příkladech seznámíme s Java Scannerem a jeho metodami.

ScannerTřída java.utilbalíčku se používá ke čtení vstupních dat z různých zdrojů, jako jsou vstupní proudy, uživatelů, soubory, atd Vezměme si příklad.

Příklad 1: Čtení řádku textu pomocí skeneru

 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ýstup

 Zadejte své jméno: Kelvin Jmenuji se Kelvin

Ve výše uvedeném příkladu si všimněte řádku

 Scanner input = new Scanner(System.in);

Zde jsme vytvořili objekt Scannerpojmenovaného vstupu.

System.inParametr se používá, aby se vstup ze standardního vstupu. Funguje to jako přijímání vstupů z klávesnice.

Potom jsme použili nextLine()metodu Scannertřídy ke čtení řádku textu od uživatele.

Nyní, když máte nějakou představu Scanner, pojďme o tom prozkoumat více.

Importovat třídu skeneru

Jak vidíme z výše uvedeného příkladu, java.util.Scannerpřed použitím Scannertřídy musíme balíček importovat .

 import java.util.Scanner;

Další informace o importu balíčků najdete v balíčcích Java.

Vytvořte objekt skeneru v Javě

Jakmile importujeme balíček, můžeme vytvářet Scannerobjekty takto.

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

Tady jsme vytvořili objekty Scannertřídy, které budou číst vstupy z InputStream, File a String.

Metody skeneru Java pro vstup

ScannerTřída nabízí celou řadu možností, které nám umožňují číst vstupy různých typů.

Metoda Popis
nextInt() přečte inthodnotu od uživatele
nextFloat() čte floathodnotu od uživatele
nextBoolean() přečte booleanhodnotu od uživatele
nextLine() čte řádek textu od uživatele
next() čte slovo od uživatele
nextByte() přečte bytehodnotu od uživatele
nextDouble() načte doublhodnotu e od uživatele
nextShort() přečte shorthodnotu od uživatele
nextLong() přečte longhodnotu od uživatele

Pří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ýstup

 Zadejte celé číslo: 22 Pomocí nextInt (): 22

Ve výše uvedeném příkladu jsme použili nextInt()metodu ke čtení celočíselné hodnoty.

Pří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ýstup

 Zadejte dvojitou hodnotu: 33,33 Pomocí nextDouble (): 33,33

Ve výše uvedeném příkladu jsme použili nextDouble()metodu ke čtení hodnoty s plovoucí desetinnou čárkou.

Pří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ýstup

 Zadejte své jméno: Jonny Walker Pomocí next (): Jonny

Ve výše uvedeném příkladu jsme použili next()metodu ke čtení řetězce od uživatele.

Zde jsme uvedli celé jméno. Avšak next()metoda čte pouze křestní jméno.

Je to proto, že next()metoda čte vstup až po znak mezery . Jakmile se objeví mezera , vrátí řetězec (kromě mezer).

Pří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ýstup

 Zadejte své jméno: Jonny Walker Pomocí nextLine (): Jonny Walker

V prvním příkladu jsme použili nextLine()metodu ke čtení řetězce od uživatele.

Na rozdíl od next()této nextLine()metody přečte celý řádek vstupu včetně mezer. Tento způsob je ukončen, když narazí na další řádek 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

ScannerTřída čte celý řádek a rozdělí linku do tokenů. Tokeny jsou malé prvky, které mají nějaký význam pro kompilátor Java. Například,

Předpokládejme, že existuje vstupní řetězec:

 He is 22

V tomto případě objekt skeneru přečte celý řádek a rozdělí řetězec na tokeny: „ He “, „ is “ a „ 22 “. Objekt poté iteruje nad každým tokenem a čte každý token pomocí různých metod.

Poznámka : Ve výchozím nastavení se k dělení tokenů používají mezery.

Zajímavé články...