Autor Tema: Leer datos por teclado en java  (Leído 25201 veces)

Susana83

  • Sin experiencia
  • *
  • Mensajes: 49
    • Ver Perfil
Leer datos por teclado en java
« en: 09 de Agosto 2011, 13:48 »
Me gustaría saber cómo puedo capturar datos por el teclado en el lenguaje java.

Muchas gracias

Mastermind

  • Experto
  • *****
  • Mensajes: 540
    • Ver Perfil
Re:Leer datos por teclado en java
« Respuesta #1 en: 09 de Agosto 2011, 13:54 »
Muy buenas Susana83.

Para leer datos se usa:

BufferedReader bf = new BufferedReader (new InputStreamReader(System.in));
String linea = bf.readLine();

Ahora la variable linea contiene la cadena de caracteres que hemos introducido por teclado.

Un saludo.

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2052
    • Ver Perfil
Re:Leer datos por teclado en java
« Respuesta #2 en: 09 de Agosto 2011, 13:57 »
La línea del readLine puede lanzar Excepciones, es por ello que hay que meterla entre instrucciones try/catch para poder gestionar el posible error:

String línea;

try {

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

línea = br.readLine();

}catch(Exception e){ e.printStackTrace();}


System.out.println(línea); // Con esta imprimimos los datos que introducimos por el teclado.

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 382
    • Ver Perfil
Scanner para leer datos por teclado
« Respuesta #3 en: 13 de Agosto 2011, 12:26 »
Yo prefiero usar la clase Scanner. Es propia de las versiones más recientes de java y es más fácil de usar que BufferedReader aunque supongo que cada cual usa aquello a lo que está más acostumbrado

Enrique González Gutiérrez

  • Experto
  • *****
  • Mensajes: 1279
  • Tao Te Ching
    • Ver Perfil
Re:Leer datos por teclado en java
« Respuesta #4 en: 17 de Agosto 2011, 11:44 »
Hola javi in the sky, el problema que veo en el uso de la clase Scanner, es que dicha clase está a partir de la versión 5 de java y, por lo tanto, en los servidores cuya versión sea inferior a la que comento, dicha clase no existe.

Un saludo.
Responsable de departamento técnico de aprenderaprogramar.com

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 382
    • Ver Perfil
Re:Leer datos por teclado en java
« Respuesta #5 en: 24 de Agosto 2011, 00:11 »
Oracle ha sacado la versión Java SE 7 de Java a finales de julio de este año... todavía está calentita, después de varios años de preparativos. Me imagino yo que la mayor parte de la gente ya estará con la 5 o superior... aunque la verdad es que en servidores java no ando muy puesto.

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2635
    • Ver Perfil
Re:Leer datos por teclado en java
« Respuesta #6 en: 26 de Agosto 2011, 10:23 »
Y ya que estamos con el tema, otra forma de pedir entradas por teclado. No es lo más elegante, pero funcionar funciona  ;):

import java.io.*;
public class TestEntradaTeclado {
    public static void main (String [] args){
        System.out.println ("Empezamos el programa");
        System.out.println ("Por favor introduzca una cadena por teclado:");
        String entradaTeclado = "";

      while (true) { //Bucle que se repite indefinidamente hasta que se produce una salida forzada por un break
      try {
        int tmp = System.in.read (); /*System.in se considera una forma poco elegante e ineficiente
        de pedir entradas por teclado; pero funcionar funciona*/       
       
        if (tmp == 10) break; //10 es el valor numérico de la tecla enter en código ascii
        char c = (char) tmp;      //Transformamos el entero tmp en un char
        entradaTeclado = entradaTeclado + c;           //Ampliamos la cadena mientras no sea un enter
        }  catch (IOException e) {
        //No establecemos tratamiento de errores
    }
   
         } //cierre del while
        System.out.println ("Entrada recibida por teclado es: \"" + entradaTeclado +"\"");
}
}

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2074
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
código ejemplo clase Scanner java
« Respuesta #7 en: 06 de Septiembre 2011, 18:07 »
Código ejemplo de uso de la clase Scanner para entradas de teclado:

Código: [Seleccionar]
import java.util.Scanner; //Importación del código de la clase Scanner desde la biblioteca java
//Código de nuestra clase principal
public class TestPrograma1 {

    public static void main (String [ ] args) {
       
        System.out.println ("Por favor introduzca su nombre y apellidos:");
        String entradaTeclado = "";
        Scanner entradaEscaner = new Scanner (System.in); //Creación de un objeto Scanner
        entradaTeclado = entradaEscaner.nextLine (); //Invocamos un método sobre un objeto Scanner
        System.out.println ("Entrada recibida por teclado es: \"" + entradaTeclado +"\"");
    } //Cierre del main
} //Cierre de la clase
Responsable de departamento de producción aprenderaprogramar.com

kansadostoy

  • Sin experiencia
  • *
  • Mensajes: 26
    • Ver Perfil
Re:Leer datos por teclado en java
« Respuesta #8 en: 07 de Septiembre 2011, 09:03 »
Very interesting... gracias. Dado que se están animando, si encuentro alguna forma más la pondré por aquí para hacer más grande la colección  ???

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2074
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:Leer datos por teclado en java
« Respuesta #9 en: 18 de Octubre 2011, 11:55 »
Para todos los interesados: ya estamos colgando en la web (aprenderaprogramar.com --> Cursos) un nuevo curso sobre Java denominado "Aprender programación Java desde cero". Este curso puedo asegurar que no defraudará a todo aquel que empieza desde cero en Java porque tiene un planteamiento completamente sencillo y didáctico, de lo mejor que he visto para llegar a comprender la programación orientada a objetos.
Responsable de departamento de producción aprenderaprogramar.com

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".