Tabla de contenidos
He resumido un método para obtener la entrada directamente usando System.in.read()
sin utilizar java.util.Scanner
en Java.
Entorno
- Java 11
[Revisión] Cómo Obtener la Entrada Estándar Usando Scanner
Para obtener la entrada estándar usando Scanner
, siga estos pasos. Cree una instancia pasando System.in
al constructor de Scanner
.
1 2 3 4 5 6 7 8 |
import java.util.Scanner; public class Sample { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println(sc.next()); } } |
La instancia de Scanner
es conveniente, no solo con next
sino también con métodos que devuelven valores como números, como nextInt
, nextDouble
, y métodos que devuelven valores como booleanos, como nextBoolean
.
Cómo Obtener la Entrada Estándar Directamente desde System.in
Para obtener la entrada estándar directamente desde System.in
, utiliza System.in.read()
.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import java.io.IOException; public class StandardInput { public static String read() throws IOException { StringBuilder s = new StringBuilder(); while (true) { char c = (char) System.in.read(); if (c == '\n') break; s.append(c); } return s.toString(); } } |
StandardInput.read()
te permite obtener la cadena de la entrada estándar. No devuelve un valor hasta que se presiona Enter en la entrada estándar. System.in
devuelve cada carácter uno por uno hasta que se presiona Enter ('\n'
).