Entrada de usuário Java (Scanner)


Entrada de usuário Java

A Scannerclasse é usada para obter a entrada do usuário e é encontrada no java.utilpacote.

Para usar a Scannerclasse, crie um objeto da classe e use qualquer um dos métodos disponíveis encontrados na Scannerdocumentação da classe. Em nosso exemplo, usaremos o nextLine()método, que é usado para ler Strings:

Exemplo

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

Se você não sabe o que é um pacote, leia nosso Tutorial de Pacotes Java .


Tipos de entrada

No exemplo acima, usamos o nextLine()método, que é usado para ler Strings. Para ler outros tipos, veja a tabela abaixo:

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

No exemplo abaixo, usamos métodos diferentes para ler dados de vários tipos:

Exemplo

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

Nota: Se você inserir uma entrada errada (por exemplo, texto em uma entrada numérica), você receberá uma mensagem de exceção/erro (como "InputMismatchException").

Você pode ler mais sobre exceções e como lidar com erros no capítulo Exceções .