Leer desde el teclado
Hola soy Luis:
Quisiera saber como puedo leer desde el teclado y guardar el valor en una variable para procesarla en mi programa.
De antemano, gracias.
Quisiera saber como puedo leer desde el teclado y guardar el valor en una variable para procesarla en mi programa.
De antemano, gracias.
Ante todo, espero que esta explicación te sea de utilidad, a ver si lo conseguimos....
Empezamos
Para que el usuario pueda introducir datos a través del teclado debemos crear un búfer de entrada de datos:
//Debes incorporar las librerÃas de Entrada/Salida
import java.io.*;
/*Creamos el objeto isr de la clase InputStreamReader() para pasarselo como parámetro al búfer de entrada*/
InputStreamReader isr = new InputStreamReader(System.in);
//Búfer de entrada
BufferedReader br = new BufferedReader(isr);
/*Con 'BufferedReader' hemos creado un objeto br con el cual podremos utlizar los metodos de la clase BufferedReader*/
¡¡¡Ya podemos utilizar el bufer de entrada!!!
p.e
Para Strings:
String nombre;
System.out.print("Introduzca su nombre: );
nombre = br.readLine();
/*El metodo 'readLine()' lee la linea de caracteres introducida y se la asigna a la variable 'nombre'*/
Para enteros:
int numero;
System.out.print("Introduzca n£mero: ");
numero = Integer.parseInt(br.readLine());
/*Para leer números enteros utilizamos el método parseInt de la clase Integer que transforma la cadena leida desde 'readLine()' en un número entero. Ejemplo de Integer.parseInt():
Imaginemos que tenemos una cadena de caracteres "abcdefg" que son letras, igualmente la cadena "1234535" son también caracteres como las letras (no son números para el compilador).Hay que distinguir entre:
int numero = 123;
y
String numero = "123";
Una vez aclarado esto. Si utilizamos el método parseInt() de la clase Integer() podremos transformar la cadena en entero:
numero = Integer.parseInt("1234535");
lo convertirÃa en el entero numero = 1234535;
Para leer un entero, utlizamos el método readLine() (que lee la cadena de caracteres) combinándolo con el metodo parseInt()(que transforma los caracteres a enteros).;
se Introduce por teclado la cadena "123"
numero = Integer.parseInt(br.readLine());
readLine() lo lee y parseInt() lo transforma a entero.*/
Por último debes tener en cuenta que abrir el bufer de entrada genera una excepcion que debes tener en cuenta si no quieres que el programa falle. Para ello, escribes todo lo que vaya tras el búfer dentro de un bucle try{}catch(Exception e){}. Ahoro lo verás claro en este ejmplito que te envÃo.
//Copiar código desde aquÃ
import java.io.*;
public void nombre_aplicacion{
public static void main(String args[]){
String nombre,numeroCadena;
int numeroEntero1,numeroEntero2;
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
try{
System.out.print("Introduzca su nombre: ");
nombre = br.readLine();
System.out.print("Introduzca un numero: ");
//lectura del numero como cadena;
numeroCadena = br.readLine();
/*transformemos la cadena numeroCadena en entero*/
numeroEntero1 = Integer.parseInt(numeroCadena);
//Hagamos el proceso anterior en un solo paso
System.out.print("Introduzca segundo numero: ");
numeroEntero2 = Integer.parseInt(br.readLine());
System.out.println("Bueno "+nombre+" espero que este emilio te haya servido de algo.");
System.out.println("Ya sabes como introducir tus numeros "+numeroEntero1+", "+numeroEntero2);
System.out.println(" y tus Strings "+nombre+" y "+numeroCadena+" Saludos. JavaManux");
}catch(Exception e){
System.out.println("Se ha producido un error de E/S");}
}
}
Empezamos
Para que el usuario pueda introducir datos a través del teclado debemos crear un búfer de entrada de datos:
//Debes incorporar las librerÃas de Entrada/Salida
import java.io.*;
/*Creamos el objeto isr de la clase InputStreamReader() para pasarselo como parámetro al búfer de entrada*/
InputStreamReader isr = new InputStreamReader(System.in);
//Búfer de entrada
BufferedReader br = new BufferedReader(isr);
/*Con 'BufferedReader' hemos creado un objeto br con el cual podremos utlizar los metodos de la clase BufferedReader*/
¡¡¡Ya podemos utilizar el bufer de entrada!!!
p.e
Para Strings:
String nombre;
System.out.print("Introduzca su nombre: );
nombre = br.readLine();
/*El metodo 'readLine()' lee la linea de caracteres introducida y se la asigna a la variable 'nombre'*/
Para enteros:
int numero;
System.out.print("Introduzca n£mero: ");
numero = Integer.parseInt(br.readLine());
/*Para leer números enteros utilizamos el método parseInt de la clase Integer que transforma la cadena leida desde 'readLine()' en un número entero. Ejemplo de Integer.parseInt():
Imaginemos que tenemos una cadena de caracteres "abcdefg" que son letras, igualmente la cadena "1234535" son también caracteres como las letras (no son números para el compilador).Hay que distinguir entre:
int numero = 123;
y
String numero = "123";
Una vez aclarado esto. Si utilizamos el método parseInt() de la clase Integer() podremos transformar la cadena en entero:
numero = Integer.parseInt("1234535");
lo convertirÃa en el entero numero = 1234535;
Para leer un entero, utlizamos el método readLine() (que lee la cadena de caracteres) combinándolo con el metodo parseInt()(que transforma los caracteres a enteros).;
se Introduce por teclado la cadena "123"
numero = Integer.parseInt(br.readLine());
readLine() lo lee y parseInt() lo transforma a entero.*/
Por último debes tener en cuenta que abrir el bufer de entrada genera una excepcion que debes tener en cuenta si no quieres que el programa falle. Para ello, escribes todo lo que vaya tras el búfer dentro de un bucle try{}catch(Exception e){}. Ahoro lo verás claro en este ejmplito que te envÃo.
//Copiar código desde aquÃ
import java.io.*;
public void nombre_aplicacion{
public static void main(String args[]){
String nombre,numeroCadena;
int numeroEntero1,numeroEntero2;
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
try{
System.out.print("Introduzca su nombre: ");
nombre = br.readLine();
System.out.print("Introduzca un numero: ");
//lectura del numero como cadena;
numeroCadena = br.readLine();
/*transformemos la cadena numeroCadena en entero*/
numeroEntero1 = Integer.parseInt(numeroCadena);
//Hagamos el proceso anterior en un solo paso
System.out.print("Introduzca segundo numero: ");
numeroEntero2 = Integer.parseInt(br.readLine());
System.out.println("Bueno "+nombre+" espero que este emilio te haya servido de algo.");
System.out.println("Ya sabes como introducir tus numeros "+numeroEntero1+", "+numeroEntero2);
System.out.println(" y tus Strings "+nombre+" y "+numeroCadena+" Saludos. JavaManux");
}catch(Exception e){
System.out.println("Se ha producido un error de E/S");}
}
}
Te agradezco mucho que te hayas tomado la molestia de contestarme y aún más de la gran explicación y tan de tallada que me diste.
Atte. Luis GarcÃa.
Atte. Luis GarcÃa.