Java-scanner (met voorbeelden)

In deze tutorial leren we met behulp van voorbeelden over de Java Scanner en zijn methoden.

De Scannerklasse van het java.utilpakket wordt gebruikt om invoergegevens uit verschillende bronnen te lezen, zoals invoerstromen, gebruikers, bestanden, enz. Laten we een voorbeeld nemen.

Voorbeeld 1: lees een regel tekst met de scanner

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

Uitvoer

 Voer je naam in: Kelvin Mijn naam is Kelvin

Let in het bovenstaande voorbeeld op de lijn

 Scanner input = new Scanner(System.in);

Hier hebben we een object met Scannerbenoemde invoer gemaakt.

De System.inparameter wordt gebruikt om input te krijgen van de standaardinvoer. Het werkt net als invoer van het toetsenbord.

We hebben vervolgens de nextLine()methode van de Scannerklas gebruikt om een ​​regel tekst van de gebruiker te lezen.

Nu je er een idee van hebt Scanner, laten we er meer over onderzoeken.

Scannerklasse importeren

Zoals we in het bovenstaande voorbeeld kunnen zien, moeten we het java.util.Scannerpakket importeren voordat we de Scannerklasse kunnen gebruiken .

 import java.util.Scanner;

Bezoek Java-pakketten voor meer informatie over het importeren van pakketten.

Maak een scannerobject in Java

Nadat we het pakket hebben geïmporteerd, kunnen we als volgt Scannerobjecten maken.

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

Hier hebben we objecten van de Scannerklasse gemaakt die invoer van respectievelijk InputStream, File en String zullen lezen.

Java-scannermethoden om invoer te verkrijgen

De Scannerklasse biedt verschillende methoden waarmee we verschillende soorten invoer kunnen lezen.

Methode Omschrijving
nextInt() leest een intwaarde van de gebruiker
nextFloat() leest een floatwaarde uit de gebruiker
nextBoolean() leest een booleanwaarde van de gebruiker
nextLine() leest een regel tekst van de gebruiker
next() leest een woord van de gebruiker
nextByte() leest een bytewaarde van de gebruiker
nextDouble() leest een double-waarde van de gebruiker
nextShort() leest een shortwaarde van de gebruiker
nextLong() leest een longwaarde van de gebruiker

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

Uitvoer

 Voer een geheel getal in: 22 Met nextInt (): 22

In het bovenstaande voorbeeld hebben we de nextInt()methode gebruikt om een ​​geheel getal te lezen.

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

Uitvoer

 Voer dubbele waarde in: 33.33 Gebruik van nextDouble (): 33.33

In het bovenstaande voorbeeld hebben we de nextDouble()methode gebruikt om een ​​drijvende-kommawaarde te lezen.

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

Uitvoer

 Voer je naam in: Jonny Walker Gebruik volgende (): Jonny

In het bovenstaande voorbeeld hebben we de next()methode gebruikt om een ​​string van de gebruiker te lezen.

Hier hebben we de volledige naam opgegeven. De next()methode leest echter alleen de voornaam.

Dit komt doordat de next()methode invoer tot aan het witruimteteken leest . Zodra de witruimte wordt aangetroffen, wordt de tekenreeks geretourneerd (exclusief de witruimte).

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

Uitvoer

 Voer uw naam in: Jonny Walker Met nextLine (): Jonny Walker

In het eerste voorbeeld hebben we de nextLine()methode gebruikt om een ​​string van de gebruiker te lezen.

In tegenstelling tot next(), nextLine()leest de methode de volledige invoerregel inclusief spaties. De werkwijze wordt beëindigd wanneer zij tegenkomt een volgende regel karakter .

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

De Scannerklas leest een hele regel en verdeelt de regel in tokens. Tokens zijn kleine elementen die een betekenis hebben voor de Java-compiler. Bijvoorbeeld,

Stel dat er een invoerstring is:

 He is 22

In dit geval leest het scannerobject de hele regel en verdeelt het de string in tokens: " He ", " is " en " 22 ". Het object itereert vervolgens over elk token en leest elk token met behulp van zijn verschillende methoden.

Opmerking : standaard wordt witruimte gebruikt om tokens te verdelen.

Interessante artikelen...