Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java-scannerklasse

Java Scanner-klasse

In deze tutorial leren we over de Java Scanner en zijn methoden aan de hand van voorbeelden.

De Scanner klasse van de java.util pakket wordt gebruikt om invoergegevens uit verschillende bronnen te lezen, zoals invoerstromen, gebruikers, bestanden, enz. Laten we een voorbeeld nemen.


Voorbeeld 1:een regel tekst lezen 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

Enter your name: Kelvin
My name is Kelvin

Let in het bovenstaande voorbeeld op de regel

Scanner input = new Scanner(System.in);

Hier hebben we een object gemaakt van Scanner genaamd invoer .

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

We hebben toen de nextLine() . gebruikt methode van de Scanner class om een ​​regel tekst van de gebruiker te lezen.

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


Scannerklasse importeren

Zoals we in het bovenstaande voorbeeld kunnen zien, moeten we de java.util.Scanner . importeren pakket voordat we de Scanner . kunnen gebruiken klasse.

import java.util.Scanner;

Ga voor meer informatie over het importeren van pakketten naar Java-pakketten.


Maak een scannerobject in Java

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

// 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 gemaakt van de Scanner klasse die invoer van respectievelijk InputStream, File en String leest.


Java-scannermethoden om invoer te nemen

De Scanner class biedt verschillende methoden waarmee we invoer van verschillende typen kunnen lezen.

Methode Beschrijving
nextInt() leest een int waarde van de gebruiker
nextFloat() leest een float waarde van de gebruiker
nextBoolean() leest een boolean waarde van de gebruiker
nextLine() leest een regel tekst van de gebruiker
next() leest een woord van de gebruiker
nextByte() leest een byte waarde van de gebruiker
nextDouble() leest een doubl e waarde van de gebruiker
nextShort() leest een short waarde van de gebruiker
nextLong() leest een long waarde 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

Enter an integer:
22
Using nextInt(): 22

In het bovenstaande voorbeeld hebben we de nextInt() . gebruikt methode 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

Enter Double value: 33.33
Using nextDouble(): 33.33

In het bovenstaande voorbeeld hebben we de nextDouble() . gebruikt methode 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

Enter your name: Jonny Walker
Using next(): Jonny

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

Hier hebben we de volledige naam gegeven. Echter, de next() methode leest alleen de voornaam.

Dit komt omdat de next() methode leest invoer tot aan de witruimte karakter. Zodra de witruimte wordt aangetroffen, retourneert het de tekenreeks (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

Enter your name: Jonny Walker
Using nextLine(): Jonny Walker

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

In tegenstelling tot next() , de nextLine() methode leest de hele invoerregel inclusief spaties. De methode wordt beëindigd wanneer deze een teken op de volgende regel tegenkomt, \n .

Aanbevolen literatuur: Java Scanner slaat de nextLine() over.


Java-scanner met BigInteger en BigDecimal

Java-scanner kan ook worden gebruikt om grote gehele getallen en grote decimalen te lezen.

  • nextBigInteger() - leest de grote integerwaarde van de gebruiker
  • nextBigDecimal() - leest de grote decimale waarde van de gebruiker

Voorbeeld 4:lees BigInteger en 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();
  }
}

Uitvoer

Enter a big integer: 987654321
Using nextBigInteger(): 987654321
Enter a big decimal: 9.55555
Using nextBigDecimal(): 9.55555

In het bovenstaande voorbeeld hebben we de java.math.BigInteger . gebruikt en java.math.BigDecimal pakket om BigInteger te lezen en BigDecimal respectievelijk.


Werking van Java Scanner

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

Stel dat er een invoertekenreeks is:

He is 22

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

Opmerking :Standaard wordt witruimte gebruikt om tokens te verdelen.


Java

  1. Java laatste trefwoord
  2. Java-instantie van Operator
  3. Java-erfenis
  4. Java geneste statische klasse
  5. Java anonieme klasse
  6. Java Singleton-klasse
  7. Java-reflectie
  8. Java ObjectOutputStream-klasse
  9. Java-scannerklasse
  10. Java-generieken
  11. Java-bestandsklasse