descargar - java runtime environment
Leyendo un solo char en Java (5)
¿Cómo se puede ingresar una char en Java desde el teclado?
Encontré que esta manera funcionó bien:
{
char [] a;
String temp;
Scanner keyboard = new Scanner(System.in);
System.out.println("please give the first integer :");
temp=keyboard.next();
a=temp.toCharArray();
}
También puede obtener uno individual con String.charAt ()
Puede escanear una línea entera:
Scanner s = new Scanner(System.in);
String str = s.nextLine();
O puedes leer un solo char
, dado que sabes con qué codificación estás tratando:
char c = (char) System.in.read();
Puedes usar el escáner así:
Scanner s= new Scanner(System.in);
char x = s.next().charAt(0);
Al usar la función charAt, puede obtener el valor del primer char sin usar un casting externo.
Puedes usar un Scanner
para esto. No está claro cuáles son sus requisitos exactos, pero aquí hay un ejemplo que debería ser ilustrativo:
Scanner sc = new Scanner(System.in).useDelimiter("//s*");
while (!sc.hasNext("z")) {
char ch = sc.next().charAt(0);
System.out.print("[" + ch + "] ");
}
Si usted da esta entrada:
123 a b c x y z
La salida es:
[1] [2] [3] [a] [b] [c] [x] [y]
Entonces, lo que sucede aquí es que el Scanner
usa /s*
como delimitador, que es la expresión regular de "cero o más caracteres de espacio en blanco". Esto omite espacios, etc. en la entrada, por lo que solo obtiene caracteres que no sean espacios en blanco, uno a la vez.
Tal vez podrías probar este código:
import java.io.*;
public class Test
{
public static void main(String[] args)
{
try
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String userInput = in.readLine();
System.out.println("/n/nUser entered -> " + userInput);
}
catch(IOException e)
{
System.out.println("IOException has been caught");
}
}
}