Obtener un carácter de la entrada en Java

Rupam Yadav 12 octubre 2023
  1. Obtener un carácter de la entrada usando Scanner.next().charAt(0) en Java
  2. Obtener un carácter de la entrada usando System.in.read() en Java
  3. Obtener un carácter de la entrada usando InputStreamReader() en Java
Obtener un carácter de la entrada en Java

Este artículo presentará varios métodos que podemos usar para introducir un caractere en Java. Podemos introducir y leer una frase entera en Java, pero hay muy pocas maneras de leer un solo carácter. Los siguientes ejemplos muestran algunas formas y cómo usarlas.

Obtener un carácter de la entrada usando Scanner.next().charAt(0) en Java

En el primer ejemplo, usaremos la clase Scanner para tomar la entrada. Usamos scanner.next().charAt(0) para leer la entrada como char. charAt(0) lee lee el primer carácter del escáner.

import java.util.Scanner;

public class InputChar {
  public static void main(String[] args) d {
    Scanner scanner = new Scanner(System.in);
    System.out.println("Please input a character: ");
    char value = scanner.next().charAt(0);
    System.out.println("Character: " + value);
  }
}

Producción :

Please input a character: 
h
Character: h

Obtener un carácter de la entrada usando System.in.read() en Java

El siguiente ejemplo utiliza el System.in directamente para llamar al método read(). System.in.read() lee un byte y devuelve un int. Como cada carácter representa un número, podemos convertir la int en un carácter y viceversa.

A continuación, leemos la entrada usando System.in.read() y luego la lanzamos a un char para convertirla en un tipo de carácter.

import java.io.IOException;

public class InputChar {
  public static void main(String[] args) throws IOException {
    System.out.println("Please input a character: ");
    char value = (char) System.in.read();
    System.out.println("Character: " + value);
  }
}

Producción :

Please input a character: 
j
Character: j

Obtener un carácter de la entrada usando InputStreamReader() en Java

Otro método similar al anterior utiliza un InputStreamRead() que proporciona el método read() igual que System.in. Podemos usar este método read() para introducir el carácter que devolverá una in y luego lanzarlo a un char como hemos hecho en el ejemplo de abajo.

import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;

public class InputChar {
  public static void main(String[] args) throws IOException {
    System.out.println("Please input a character: ");
    Reader reader = new InputStreamReader(System.in);
    int characterAsInt = reader.read();

    char character = (char) characterAsInt;
    System.out.println("Character: " + character);
  }
}

Producción :

Please input a character: 
/
Character: /
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Artículo relacionado - Java Scanner

Artículo relacionado - Java Char