Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Susana83 en 09 de Agosto 2011, 13:48

Título: Leer datos por teclado en java
Publicado por: Susana83 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
Título: Re:Leer datos por teclado en java
Publicado por: Mastermind 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.
Título: Re:Leer datos por teclado en java
Publicado por: Alex Rodríguez 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.
Título: Scanner para leer datos por teclado
Publicado por: javi in the sky 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
Título: Re:Leer datos por teclado en java
Publicado por: Enrique González Gutiérrez 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.
Título: Re:Leer datos por teclado en java
Publicado por: javi in the sky 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.
Título: Re:Leer datos por teclado en java
Publicado por: Ogramar 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 +"\"");
}
}
Título: código ejemplo clase Scanner java
Publicado por: César Krall 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
Título: Re:Leer datos por teclado en java
Publicado por: kansadostoy 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  ???
Título: Re:Leer datos por teclado en java
Publicado por: César Krall 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.