Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Classe de scanner Java

Classe de scanner Java


Neste tutorial, aprenderemos sobre o Java Scanner e seus métodos com a ajuda de exemplos.

O Scanner classe do java.util O pacote é usado para ler dados de entrada de diferentes fontes como fluxos de entrada, usuários, arquivos, etc. Vamos dar um exemplo.


Exemplo 1:ler uma linha de texto usando o 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();
  }
}

Saída
Enter your name: Kelvin
My name is Kelvin

No exemplo acima, observe a linha
Scanner input = new Scanner(System.in);

Aqui, criamos um objeto de Scanner chamado entrada .

O System.in parâmetro é usado para obter entrada da entrada padrão. Funciona como receber entradas do teclado.

Em seguida, usamos o nextLine() método do Scanner class para ler uma linha de texto do usuário.

Agora que você tem alguma ideia sobre Scanner , vamos explorar mais sobre isso.

Importar classe de scanner


Como podemos ver no exemplo acima, precisamos importar o java.util.Scanner pacote antes de podermos usar o Scanner classe.
import java.util.Scanner;

Para saber mais sobre como importar pacotes, visite Pacotes Java.

Criar um objeto Scanner em Java


Depois de importar o pacote, veja como podemos criar Scanner objetos.
// 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);

Aqui, criamos objetos do Scanner classe que lerá a entrada de InputStream, File e String, respectivamente.

Métodos do scanner Java para receber entradas


O Scanner classe fornece vários métodos que nos permitem ler entradas de diferentes tipos.
Método Descrição
nextInt() lê um int valor do usuário
nextFloat() lê um float valor do usuário
nextBoolean() lê um boolean valor do usuário
nextLine() lê uma linha de texto do usuário
next() lê uma palavra do usuário
nextByte() lê um byte valor do usuário
nextDouble() lê um doubl e valor do usuário
nextShort() lê um short valor do usuário
nextLong() lê um long valor do usuário

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

Saída
Enter an integer:
22
Using nextInt(): 22

No exemplo acima, usamos o nextInt() método para ler um valor inteiro.

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

Saída
Enter Double value: 33.33
Using nextDouble(): 33.33

No exemplo acima, usamos o nextDouble() método para ler um valor de ponto flutuante.

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



Saída
Enter your name: Jonny Walker
Using next(): Jonny

No exemplo acima, usamos o next() método para ler uma string do usuário.

Aqui, fornecemos o nome completo. No entanto, o next() método lê apenas o primeiro nome.

Isso ocorre porque o next() O método lê a entrada até o espaço em branco personagem. Uma vez que o espaço em branco for encontrado, ele retornará a string (excluindo o espaço em branco).

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

Saída
Enter your name: Jonny Walker
Using nextLine(): Jonny Walker

No primeiro exemplo, usamos o nextLine() método para ler uma string do usuário.

Ao contrário de next() , o nextLine() O método lê toda a linha de entrada, incluindo espaços. O método é encerrado quando encontra um caractere de próxima linha, \n .

Leitura recomendada: Java Scanner pulando o nextLine().

Java Scanner com BigInteger e BigDecimal


O scanner Java também pode ser usado para ler os números inteiros e decimais grandes.

Exemplo 4:leia BigInteger e 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();
  }
}

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

No exemplo acima, usamos o java.math.BigInteger e java.math.BigDecimal pacote para ler BigInteger e BigDecimal respectivamente.

Funcionamento do Java Scanner


O Scanner A classe lê uma linha inteira e divide a linha em tokens. Tokens são pequenos elementos que têm algum significado para o compilador Java. Por exemplo,

Suponha que haja uma string de entrada:
He is 22

Nesse caso, o objeto scanner lerá a linha inteira e dividirá a string em tokens:"He ", "é " e "22 ". O objeto então itera sobre cada token e lê cada token usando seus diferentes métodos.

Observação :Por padrão, o espaço em branco é usado para dividir tokens.

Java

  1. Palavra-chave final Java
  2. Java instanceof Operator
  3. Classe estática aninhada em Java
  4. Classe anônima Java
  5. Classe Java Singleton
  6. Reflexão Java
  7. Classe Java ObjectOutputStream
  8. Classe de scanner Java
  9. Genéricos Java
  10. Classe de arquivo Java