Vstup uživatele Java (skener)


Vstup uživatele Java

Třída Scannerse používá k získání uživatelského vstupu a nachází se v java.utilbalíčku.

Chcete-li Scannertřídu použít, vytvořte objekt třídy a použijte kteroukoli z dostupných metod uvedených v Scannerdokumentaci třídy. V našem příkladu použijeme nextLine()metodu, která se používá ke čtení řetězců:

Příklad

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
  }
}

Pokud nevíte, co je to balíček, přečtěte si náš Výukový program pro balíčky Java .


Typy vstupů

Ve výše uvedeném příkladu jsme použili nextLine()metodu, která se používá ke čtení řetězců. Chcete-li si přečíst další typy, podívejte se na tabulku níže:

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

V níže uvedeném příkladu používáme různé metody ke čtení dat různých typů:

Příklad

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

Poznámka: Pokud zadáte nesprávný vstup (např. text v numerickém vstupu), zobrazí se výjimka/chybové hlášení (jako "InputMismatchException").

Více o výjimkách a o tom, jak zacházet s chybami, si můžete přečíst v kapitole Výjimky .