Java -gebruikersinvoer (scanner)


Java-gebruikersinvoer

De Scannerklasse wordt gebruikt om gebruikersinvoer te krijgen en is te vinden in het java.utilpakket.

Om de Scannerklasse te gebruiken, maakt u een object van de klasse aan en gebruikt u een van de beschikbare methoden die in de Scannerklassendocumentatie staan. In ons voorbeeld gebruiken we de nextLine()methode die wordt gebruikt om Strings te lezen:

Voorbeeld

import java.util.Scanner;  // Import the Scanner class

class Main {
  public static void main(String[] args) {
    Scanner myObj = new Scanner(System.in);  // Create a Scanner object
    System.out.println("Enter username");

    String userName = myObj.nextLine();  // Read user input
    System.out.println("Username is: " + userName);  // Output user input
  }
}

Als je niet weet wat een pakket is, lees dan onze Java Packages Tutorial .


Invoertypen

In het bovenstaande voorbeeld hebben we de nextLine()methode gebruikt die wordt gebruikt om Strings te lezen. Bekijk de onderstaande tabel om andere typen te lezen:

Method Description
nextBoolean() Reads a boolean value from the user
nextByte() Reads a byte value from the user
nextDouble() Reads a double value from the user
nextFloat() Reads a float value from the user
nextInt() Reads a int value from the user
nextLine() Reads a String value from the user
nextLong() Reads a long value from the user
nextShort() Reads a short value from the user

In het onderstaande voorbeeld gebruiken we verschillende methoden om gegevens van verschillende typen te lezen:

Voorbeeld

import java.util.Scanner;

class Main {
  public static void main(String[] args) {
    Scanner myObj = new Scanner(System.in);

    System.out.println("Enter name, age and salary:");

    // String input
    String name = myObj.nextLine();

    // Numerical input
    int age = myObj.nextInt();
    double salary = myObj.nextDouble();

    // Output input by user
    System.out.println("Name: " + name);
    System.out.println("Age: " + age);
    System.out.println("Salary: " + salary);
  }
}

Opmerking: Als u een verkeerde invoer invoert (bijvoorbeeld tekst in een numerieke invoer), krijgt u een uitzonderings-/foutmelding (zoals "InputMismatchException").

U kunt meer lezen over uitzonderingen en hoe u met fouten omgaat in het hoofdstuk Uitzonderingen .