Ahora veremos como leer datos por teclado con la clase Scanner de Java. Esta clase nos permite leer datos por teclado de una manera muy fácil, explicaremos su funcionamiento mucho mejor en Programación Orientada a Objetos.
Aquí esta un ejemplo claro y fácil de entender.
Supongamos que queremos Introducir nuestro nombre en un programa y mostrarlo por pantalla.
Aquí esta un ejemplo claro y fácil de entender.
Supongamos que queremos Introducir nuestro nombre en un programa y mostrarlo por pantalla.
Cuando vayamos a usar Scanner debemos referenciar a la librería java.util.Scanner; si no la referenciamos nos aparecerán errores en las líneas que usemos Scanner.
Ahora expliquemos el código:
En esta línea para nuestros programas lo único que cambiara será la palabra lector. Ya que ‘lector’ es un “OBJETO” nuevo que creamos con la clase Scanner. Como “OBJETO” es un concepto de programación orientada a objetos solo tomaremos a ‘lector’ como una variable en la que se almacena todo lo que vayamos a introducir por teclado.
Ahora debemos guardar todo lo que escribimos en una variable que en este caso es la variable de tipo String nombre a la cual le asignamos todo lo que escribimos con el código:
La línea siguiente cierra lector, lector.close(); es decir que ya no podremos escribir nada mas. Y por ultimo Mostramos por pantalla el contenido de la variable nombre.
Las letras en verde son las que introduje por teclado.
Ahora veamos como manipular Scanner para distintos tipos de datos.
int n1 = lector.nextInt(); //lee un numero entero
double n2 = lector.nextDouble();//lee un numero de tipo double
float n3 = lector.nextFloat();//lee un número de tipo flotante
String p1 = lector.next();//lee una cadena de texto
String p2 = lector.nextLine();//lee una cadena de texto hasta fin de línea
Con Scanner podemos introducir varios datos en una sola línea o en varias sin importar el tipo de datos que introduzcamos se pueden colocar números o/y cadenas, por ejemplo si queremos sumar dos números. Podemos escribir en una sola línea “2 3” entonces para que el programa separe los números en dos variables hacemos los siguiente:
Scanner separa las variables mediante los espacios en la línea el delimitador por defecto es el espacio.
En la línea 5 iniciamos Scanner y guardaremos en lector todo lo que introduzcamos por teclado. En este caso “2 3”
En la línea 6 asignamos en “a” el primer valor que es 2 y como existe un espacio la instrucción lector.nextInt(); solo asignara a la variable “a” el numero 2.
En la línea 7 lector.nextInt(); asigna el valor 3 a la variable “b” y si tuviéramos mas valores podríamos almacenarlos de esta forma en distintas variables. En la línea 8 cerramos lector y en las demás realizamos la operación y mostramos el resultado por pantalla.
Ahora expliquemos el código:
Scanner lector = new Scanner(System.in);
En esta línea para nuestros programas lo único que cambiara será la palabra lector. Ya que ‘lector’ es un “OBJETO” nuevo que creamos con la clase Scanner. Como “OBJETO” es un concepto de programación orientada a objetos solo tomaremos a ‘lector’ como una variable en la que se almacena todo lo que vayamos a introducir por teclado.
Ahora debemos guardar todo lo que escribimos en una variable que en este caso es la variable de tipo String nombre a la cual le asignamos todo lo que escribimos con el código:
String nombre = lector.nextLine();
La línea siguiente cierra lector, lector.close(); es decir que ya no podremos escribir nada mas. Y por ultimo Mostramos por pantalla el contenido de la variable nombre.
Las letras en verde son las que introduje por teclado.
Ahora veamos como manipular Scanner para distintos tipos de datos.
int n1 = lector.nextInt(); //lee un numero entero
double n2 = lector.nextDouble();//lee un numero de tipo double
float n3 = lector.nextFloat();//lee un número de tipo flotante
String p1 = lector.next();//lee una cadena de texto
String p2 = lector.nextLine();//lee una cadena de texto hasta fin de línea
Con Scanner podemos introducir varios datos en una sola línea o en varias sin importar el tipo de datos que introduzcamos se pueden colocar números o/y cadenas, por ejemplo si queremos sumar dos números. Podemos escribir en una sola línea “2 3” entonces para que el programa separe los números en dos variables hacemos los siguiente:
Scanner separa las variables mediante los espacios en la línea el delimitador por defecto es el espacio.
En la línea 5 iniciamos Scanner y guardaremos en lector todo lo que introduzcamos por teclado. En este caso “2 3”
En la línea 6 asignamos en “a” el primer valor que es 2 y como existe un espacio la instrucción lector.nextInt(); solo asignara a la variable “a” el numero 2.
En la línea 7 lector.nextInt(); asigna el valor 3 a la variable “b” y si tuviéramos mas valores podríamos almacenarlos de esta forma en distintas variables. En la línea 8 cerramos lector y en las demás realizamos la operación y mostramos el resultado por pantalla.
Buen aporte!
ResponderEliminarGracias por compartir, Oscar Marcelo.
ResponderEliminargenial gracias
ResponderEliminarMil gracias
ResponderEliminarUna preguntica, y si yo deseo meter en una sola linea los datos de un arreglo cómo puedo hacerlo...?
ResponderEliminarComo ves puedes colocar varios datos en una linea entonces tendrías que hacer un while para recoger los datos de toda la linea y dentro el while asignar los valores a un arreglo.
Eliminary si el usuario introduce el tamaño del arreglo y los datos introducidos estan en una sola linea???
ResponderEliminarBuenos días, excelente espacio, felicitaciones, como hago para ingresar los datos horizontalmente, es que mi consola por defecto ubico los datos verticalmente; ejemplo, quiero que sea así (12 1 5.30)
ResponderEliminarPrueben adquirir valores numéricos y luego una cadena de caracteres.
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarHola Buen@s dias, noches o tardes...
ResponderEliminarEs que yo comienzo un tecnólogo y me están enseñando a manejar java y pues pense en indagar por internet para encontrar información sobre esta.
Y quiero aprender a veces no le entiendo al profesor y me gustaria que me explicaras algunas cosas sobre este programa porfavor y ojala lo mas antes posible te lo agradeceria muchisimo enserio. O:)
Tatiana ya no doy mantenimiento al blog hace mucho si gustas puedes escribirme al face o twitter buscame con mi nombre del perfil y te ayudare con gusto en las consultas que tengas
EliminarMuchas gracias Oscar
Eliminarya te busque por tu nombre del perfil pero me aparecen dos personas diferentes dime como apareces en tu foto de perfil porfavor :)
Estoy con varias personas en mi foto de perfil
EliminarPerfecto, muchas gracias por tu aporte.
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarComo haces para leer 2 entradas en la misma linea?
ResponderEliminarNo entiendo dos entradas? O dos datos?
ResponderEliminarHola tengo un problema al ingresar un dato double con decimales:
ResponderEliminardouble p;
Scanner teclado2=new Scanner(System.in);
System.out.println("Ingrese el Peso: ");
p = teclado.nextDouble();
Me tira error cuando pongo un numero con decimales
el error que me tira:
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextDouble(Unknown Source)
at fi6.fisix.main(fisix.java:48)
gracias el primer programa lo pude hacer gracias a tu ejemplo
ResponderEliminarDe nada la intención es compartir lo aprendido
ResponderEliminarnoo sirve tu informacion
ResponderEliminar