I den här handledningen lär vi oss om Java-skannern och dess metoder med hjälp av exempel.
Paketets Scanner
klass java.util
används för att läsa indata från olika källor som inmatningsströmmar, användare, filer etc. Låt oss ta ett exempel.
Exempel 1: Läs en textrad med hjälp av skannern
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(); ) )
Produktion
Ange ditt namn: Kelvin Jag heter Kelvin
Lägg märke till raden i exemplet ovan
Scanner input = new Scanner(System.in);
Här har vi skapat ett objekt med Scanner
namngiven ingång.
Den System.in
parameter används för att ta input från standard input. Det fungerar precis som att ta inmatningar från tangentbordet.
Vi har sedan använt klassens nextLine()
metod för Scanner
att läsa en textrad från användaren.
Nu när du har en aning om Scanner
, låt oss utforska mer om det.
Importera skannerklass
Som vi kan se från exemplet ovan måste vi importera java.util.Scanner
paketet innan vi kan använda Scanner
klassen.
import java.util.Scanner;
För att lära dig mer om att importera paket, besök Java-paket.
Skapa ett skannerobjekt i Java
När vi väl har importerat paketet, här är hur vi kan skapa Scanner
objekt.
// 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);
Här har vi skapat objekt av Scanner
klassen som läser inmatning från InputStream, File respektive String.
Java Scanner Methods to Take Input
I Scanner
klassen tillhandahåller olika metoder som tillåter oss att läsa ingångar av olika slag.
Metod | Beskrivning |
---|---|
nextInt() | läser ett int värde från användaren |
nextFloat() | läser ett float värde från användaren |
nextBoolean() | läser ett boolean värde från användaren |
nextLine() | läser en textrad från användaren |
next() | läser ett ord från användaren |
nextByte() | läser ett byte värde från användaren |
nextDouble() | läser ett doubl e-värde från användaren |
nextShort() | läser ett short värde från användaren |
nextLong() | läser ett long värde från användaren |
Exempel 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(); ) )
Produktion
Ange ett heltal: 22 Använd nextInt (): 22
I exemplet ovan har vi använt nextInt()
metoden för att läsa ett heltal.
Exempel 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(); ) )
Produktion
Ange dubbelvärde: 33.33 med hjälp av nextDouble (): 33.33
I exemplet ovan har vi använt nextDouble()
metoden för att läsa ett flytpunktsvärde.
Exempel 4: Java-skanner nästa ()
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(); ) )
Produktion
Ange ditt namn: Jonny Walker Använd nästa (): Jonny
I exemplet ovan har vi använt next()
metoden för att läsa en sträng från användaren.
Här har vi angett det fullständiga namnet. Men next()
metoden läser bara förnamnet.
Detta beror på att next()
metoden läser inmatning upp till blankstegsteckenet . När det vita utrymmet påträffas returnerar det strängen (exklusive det tomma utrymmet).
Exempel 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(); ) )
Produktion
Ange ditt namn: Jonny Walker Använda nextLine (): Jonny Walker
I det första exemplet har vi använt nextLine()
metoden för att läsa en sträng från användaren.
Till skillnad next()
från nextLine()
läser metoden hela raden av inmatning inklusive mellanslag. Metoden avslutas när den möter nästa radtecken .
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
Den Scanner
klassen läser en hel rad och delar ledningen i polletter. Tokens är små element som har någon betydelse för Java-kompilatorn. Till exempel,
Antag att det finns en inmatningssträng:
He is 22
I det här fallet läser skannerobjektet hela raden och delar strängen i tokens: " Han ", " är " och " 22 ". Objektet itererar sedan över varje token och läser varje token med dess olika metoder.
Obs! Som standard används mellanslag för att dela upp tokens.