Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

Java-Scanner-Klasse

Java-Scanner-Klasse

In diesem Tutorial lernen wir den Java Scanner und seine Methoden anhand von Beispielen kennen.

Der Scanner Klasse der java.util Paket wird verwendet, um Eingabedaten aus verschiedenen Quellen wie Eingabeströmen, Benutzern, Dateien usw. zu lesen. Nehmen wir ein Beispiel.


Beispiel 1:Eine Textzeile mit dem Scanner lesen

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

Ausgabe

Enter your name: Kelvin
My name is Kelvin

Beachten Sie im obigen Beispiel die Zeile

Scanner input = new Scanner(System.in);

Hier haben wir ein Objekt von Scanner erstellt mit dem Namen Eingabe .

Die System.in Der Parameter wird verwendet, um Eingaben von der Standardeingabe zu übernehmen. Es funktioniert genauso wie Eingaben über die Tastatur.

Wir haben dann den nextLine() verwendet Methode des Scanner Klasse, um eine Textzeile vom Benutzer zu lesen.

Nun, da Sie eine Vorstellung von Scanner haben , lassen Sie uns mehr darüber erfahren.


Scannerklasse importieren

Wie wir im obigen Beispiel sehen können, müssen wir den java.util.Scanner importieren Paket, bevor wir Scanner verwenden können Klasse.

import java.util.Scanner;

Weitere Informationen zum Importieren von Paketen finden Sie unter Java-Pakete.


Erstellen Sie ein Scanner-Objekt in Java

Sobald wir das Paket importiert haben, können wir Scanner wie folgt erstellen Objekte.

// 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 haben wir Objekte des Scanner erstellt Klasse, die Eingaben von InputStream, File bzw. String liest.


Java-Scanner-Methoden zur Annahme von Eingaben

Die Scanner Die Klasse bietet verschiedene Methoden, die es uns ermöglichen, Eingaben verschiedener Typen zu lesen.

Methode Beschreibung
nextInt() liest einen int Wert vom Benutzer
nextFloat() liest einen float Wert vom Benutzer
nextBoolean() liest einen boolean Wert vom Benutzer
nextLine() liest eine Textzeile vom Benutzer vor
next() liest ein Wort des Benutzers vor
nextByte() liest einen byte Wert vom Benutzer
nextDouble() liest einen doubl Der Wert vom Benutzer
nextShort() liest einen short Wert vom Benutzer
nextLong() liest einen long Wert vom Benutzer

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

Ausgabe

Enter an integer:
22
Using nextInt(): 22

Im obigen Beispiel haben wir den nextInt() verwendet Methode zum Lesen eines ganzzahligen Werts.


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

Ausgabe

Enter Double value: 33.33
Using nextDouble(): 33.33

Im obigen Beispiel haben wir den nextDouble() verwendet Methode zum Lesen eines Fließkommawerts.


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

Ausgabe

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

Im obigen Beispiel haben wir den next() verwendet Methode, um eine Zeichenfolge vom Benutzer zu lesen.

Hier haben wir den vollständigen Namen angegeben. Allerdings ist die next() Methode liest nur den Vornamen.

Das liegt daran, dass next() -Methode liest Eingaben bis zum Leerzeichen Charakter. Einmal das Leerzeichen gefunden wird, gibt es die Zeichenfolge zurück (ohne Leerzeichen).


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

Ausgabe

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

Im ersten Beispiel haben wir den nextLine() verwendet Methode, um eine Zeichenfolge vom Benutzer zu lesen.

Im Gegensatz zu next() , der nextLine() -Methode liest die gesamte Eingabezeile einschließlich Leerzeichen. Die Methode wird beendet, wenn sie auf ein Zeichen für die nächste Zeile trifft, \n .

Empfohlene Lektüre: Java-Scanner überspringt die nextLine().


Java-Scanner mit BigInteger und BigDecimal

Der Java-Scanner kann auch verwendet werden, um die großen Integer- und großen Dezimalzahlen zu lesen.


Beispiel 4:BigInteger und BigDecimal lesen

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

Ausgabe

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

Im obigen Beispiel haben wir den java.math.BigInteger verwendet und java.math.BigDecimal Paket zum Lesen von BigInteger und BigDecimal bzw..


Funktionsweise des Java-Scanners

Der Scanner Klasse liest eine ganze Zeile und teilt die Zeile in Tokens. Tokens sind kleine Elemente, die für den Java-Compiler von Bedeutung sind. Zum Beispiel

Angenommen, es gibt eine Eingabezeichenfolge:

He is 22

In diesem Fall liest das Scannerobjekt die gesamte Zeile und teilt die Zeichenkette in Tokens auf:„He “, „ist " und "22 ". Das Objekt iteriert dann über jedes Token und liest jedes Token mit seinen verschiedenen Methoden.

Hinweis :Standardmäßig werden Leerzeichen verwendet, um Token zu teilen.


Java

  1. Letztes Java-Schlüsselwort
  2. Java-Instanz des Operators
  3. Verschachtelte statische Java-Klasse
  4. Anonyme Java-Klasse
  5. Java-Singleton-Klasse
  6. Java-Reflexion
  7. Java ObjectOutputStream-Klasse
  8. Java-Scanner-Klasse
  9. Java-Generika
  10. Java-Dateiklasse