SlideShare una empresa de Scribd logo
1 de 5
DATOS DE ENTRADA DESDE EL TECLADO 
En este documento de presentan 3 clases para crear programas que lean datos de 
entrada desde el teclado. 
Las 3 clases son: 
 BufferedReader 
 Scanner 
 JOptionPane 
Las clases BufferedReader y Scanner nos permiten leer datos desde el teclado 
usando la consola, y la clase JOptionPane no permite leer datos desde el teclado 
usando un cuadro de Diálogo. 
Streams I/O 
Para entender un poco mejor el uso de estas clases definiremos que es un stream. 
Un stream es una secuencia de caracteres o bytes utilizados para la entrada o 
salida de un programa. Java proporciona varias clases Stream diferentes de 
entrada y salida en el paquete (API) java.io. 
Los objetos I/O más utilizados son: 
System.in (input stream, conectado al teclado) 
System.out (output stream, resultados normales en monitor) 
System.err (output stream para mensajes de error - monitor) 
Para convertir datos String a otros tipos se usan clases conocidas como clases 
envolventes (wrapper) para cada uno de los tipos primitivos. 
Lectura de datos desde teclado 
• Tres métodos de lectura: 
– Clase BufferedReader (consola). Esta clase se encuentra dentro del paquete 
java.io, por lo tanto debemos añadir la siguiente línea al inicio del código de nuestro 
programa: 
import java.io.BufferedReader; 
o también 
import java.io.*; 
Una vez que se ha añadido esta línea de código pondremos la siguiente instrucción 
dentro de nuestro método main: 
BufferedReader teclado = new BufferedReader( new InputStreamReader ( System.in ) ); 
Con esta instrucción se está creando un objeto llamado teclado (asociado al objeto 
System.in), a través del cual utilizaremos el método readLine( ) para leer los datos. 
El método readLine( ) regresa la cadena leída, por lo tanto debemos declarar una
variable temporal de tipo String para almacenar la entrada, e invocar el método 
readLine(). 
Para leer del teclado, es necesario escribir la instrucción de entrada dentro de un 
bloque try-catch de la siguiente forma: 
try { 
String temp = teclado.readLine(); 
} 
catch( IOException e ) { 
System.out.println(“ Error de lectura”); 
} 
Ejemplo de lectura con BufferedReader 
import java.io.*; 
public class EjemploEntrada 
{ 
public static void main( String[] args ) 
{ 
BufferedReader teclado= new BufferedReader(new InputStreamReader(System.in) ); 
String name = ""; 
System.out.print("Escribe tu nombre:"); 
try{ 
name = dataIn.readLine(); 
} 
catch( IOException e ){ 
System.out.println("Error!"); 
} 
System.out.println("Hola " + name +"!"); 
} 
} 
Ejemplo de lectura con BufferedReader importando cada una de las clases 
utilizadas. 
import java.io.BufferedReader; 
import java.io.InputStreamReader; 
import java.io.IOException; 
public class Ejemplo2Entrada 
{ 
public static void main( String[] args ) 
{ 
BufferedReader teclado = new BufferedReader(new InputStreamReader( System.in) ); 
String name = ""; 
System.out.print("Escribe tu nombre:"); 
.
. 
. 
En este ejemplo Las líneas 
import java.io.BufferedReader; 
import java.io.InputStreamReader; 
import java.io.IOException; 
indican que deseamos usar las clases BufferedReader, InputStreamReader y 
IOException que están dentro del paquete (package) java.io. Estas instrucciones 
también se pueden escribir como: 
import java.io.*; 
La interfaz de programación de aplicaciones de Java (API – Application 
Programming Interface) contiene cientos de clases predefinidas que se pueden 
usar en los programas. Las clases de la API se organizan en lo que se llaman 
paquetes (packages) que contienen clases con un propósito relacionado. 
Se llaman en un programa con 
import nombre_package 
Análisis del ejemplo con BufferedReader 
• La sentencia 
public class EjemploEntrada { 
declara una clase llamada EjemploEntrada 
• La siguiente sentencia declara el método main 
public static void main( String[] args ){ 
• La sentencia 
BufferedReader teclado = new BufferedReader(new InputStreamReader( System.in) ); 
declara una variable objeto llamada teclado con el tipo de clase BufferedReader. 
• La sentencia 
String name = ""; 
declara una variable name de tipo String. 
• La siguiente sentencia 
System.out.print("Escribe tu nombre:"); 
Imprime en pantalla la cadena: 
Escribe tu nombre: 
• El bloque siguiente define un bloque try-catch 
try{ 
name = dataIn.readLine(); 
}catch( IOException e ){ 
System.out.println("Error!"); 
}
Esto asegura que las posibles excepciones que pueden ocurrir en la sentencia 
name = dataIn.readLine(); 
serán capturadas. 
• En la sentencia 
name = teclado.readLine(); 
la llamada al método teclado.readLine(), lee la entrada del usuario y devuelve un 
String que se asigna a la variable name. El contenido de la variable name se usa 
para saludar al usuario en la sentencia: 
System.out.println("Hola " + name +"!"); 
Si se desea evitar el uso del try-catch deberá agregar la línea de código: 
throws IOException 
Enseguida del paréntesis de cierre del método main. 
public static void main( String[] args ) throws IOException 
Uso de la clase Scanner 
Otra manera de leer la entrada de usuario es usar la clase Scanner que se 
encuentra en el paquete: java.util 
La clase Scanner permite leer valores de varios tipos. Algunos de los métodos más 
usados de Scanner son:o Valor devuelto 
nextInt() lee el siguiente token como un integer 
nextDouble() lee el siguiente token como un double 
next() lee el siguiente token como un String 
nextLine() lee la línea entera (o el resto de la línea) como un String 
Pasos para el uso de la clase Scanner 
• Importar la clase Scanner que está en el paquete java.util con la línea: 
import java.util.Scanner; 
• Declarar y crear un objeto de la clase Scanner asociado al objeto System.in 
Scanner in = new Scanner(System.in); 
• Usar métodos del objeto Scanner para leer: 
int cantidad = in.nextInt(); 
double radio = in.nextDouble(); 
String mensaje = in.nextLine(); 
Ejemplo de lectura con Scanner 
import java.util.Scanner; 
public class EntradaConScanner 
{ 
public static void main(String[] args) 
{ 
double radio,area; 
// Se crea el objeto in para leer el dato entero 
Scanner in = new Scanner(System.in); 
System.out.print("Ingresar el radio del circulo: "); 
radio = in.nextDouble();
// Calculo del area 
area=3.1416*r*r; 
System.out.print("Area del Circulo: " + area); 
} 
} 
Uso de la clase JOptionPane 
Otra manera de leer la entrada de usuario es usar la clase JOptionPane que se 
encuentra en el paquete: javax.swing 
Con JOptionPane es fácil crear un cuadro de diálogo estándar que solicita al 
usuario por un valor o informa de algo. 
Ejemplo de lectura con JOptionPane 
import javax.swing.JOptionPane; 
public class EjemploEntrada3 
{ 
public static void main( String[] args ) 
{ 
String name = ""; 
name = JOptionPane.showInputDialog( "Escribe tu nombre"); 
String msg = "Hola " + name + "**"; 
JOptionPane.showMessageDialog(null, msg); 
} 
} 
Análisis del ejemplo con JOptionPane 
• La sentencia 
import javax.swing.JOptionPane; 
indica que queremos importar la clase JOptionPane del paquete javax.swing. 
También puede escribirse como: 
import javax.swing.*; 
• La sentencia 
name = JOptionPane.showInputDialog("Escribe tu nombre"); 
crea un diálogo de entrada JOptionPane, que muestra un diálogo con un mensaje, 
un campo de texto (textfield) y dos botones (Aceptar, Cancelar). 
• La cadena de caracteres que escribe el usuario se devolverá y asignará a la 
variable name. 
• La sentencia 
String msg = "Hola " + name + "**"; 
crea un mensaje de bienvenida que se almacena en la variable msg. 
• La sentencia 
JOptionPane.showMessageDialog(null, msg); 
muestra un diálogo que contiene un mensaje y un botón de Aceptar.

Más contenido relacionado

La actualidad más candente

Presentacion java
Presentacion javaPresentacion java
Presentacion javaJose Cortez
 
Proyecto de compiladores Sentencia While con Java CUP y JFLEX
Proyecto de compiladores Sentencia While con Java CUP y JFLEXProyecto de compiladores Sentencia While con Java CUP y JFLEX
Proyecto de compiladores Sentencia While con Java CUP y JFLEXIvan Luis Jimenez
 
Unidad III procedimientos
Unidad III procedimientosUnidad III procedimientos
Unidad III procedimientosaaronastorga4
 
Carro De Compras
Carro De ComprasCarro De Compras
Carro De Comprasriqsiq
 
Practica 1 unidad 4
Practica 1 unidad 4Practica 1 unidad 4
Practica 1 unidad 4Juan Lopez
 
Compilador divisor de cantidades con Jflex y Cup
Compilador divisor de cantidades con Jflex y CupCompilador divisor de cantidades con Jflex y Cup
Compilador divisor de cantidades con Jflex y CupSoraya Lara
 
Analizador Léxico y Sintáctico para Compilador que Invierte Cadenas utilizand...
Analizador Léxico y Sintáctico para Compilador que Invierte Cadenas utilizand...Analizador Léxico y Sintáctico para Compilador que Invierte Cadenas utilizand...
Analizador Léxico y Sintáctico para Compilador que Invierte Cadenas utilizand...Diego Paúl Cuenca Quezada
 
Curso Java Inicial 8 Conceptos Avanzados Awt
Curso Java Inicial   8 Conceptos Avanzados   AwtCurso Java Inicial   8 Conceptos Avanzados   Awt
Curso Java Inicial 8 Conceptos Avanzados AwtEmilio Aviles Avila
 
3.1. macros internas
3.1. macros internas3.1. macros internas
3.1. macros internasSpiderHal
 

La actualidad más candente (20)

Presentacion java
Presentacion javaPresentacion java
Presentacion java
 
Javaintroduccion 2010
Javaintroduccion 2010Javaintroduccion 2010
Javaintroduccion 2010
 
Proyecto de compiladores Sentencia While con Java CUP y JFLEX
Proyecto de compiladores Sentencia While con Java CUP y JFLEXProyecto de compiladores Sentencia While con Java CUP y JFLEX
Proyecto de compiladores Sentencia While con Java CUP y JFLEX
 
2. Introduccion A C#
2.  Introduccion A C#2.  Introduccion A C#
2. Introduccion A C#
 
Emulador emu 8086
Emulador emu 8086Emulador emu 8086
Emulador emu 8086
 
Prog ii excepciones_guia_04
Prog ii excepciones_guia_04Prog ii excepciones_guia_04
Prog ii excepciones_guia_04
 
Emulador emu 8086
Emulador emu 8086Emulador emu 8086
Emulador emu 8086
 
Ingresos y salidas de datos JAVA
Ingresos y salidas de datos JAVAIngresos y salidas de datos JAVA
Ingresos y salidas de datos JAVA
 
Java - No numérica - II
Java - No numérica - IIJava - No numérica - II
Java - No numérica - II
 
macros Lenguaje ensamblador
macros Lenguaje ensambladormacros Lenguaje ensamblador
macros Lenguaje ensamblador
 
10. Herencia
10.  Herencia10.  Herencia
10. Herencia
 
Unidad III procedimientos
Unidad III procedimientosUnidad III procedimientos
Unidad III procedimientos
 
Carro De Compras
Carro De ComprasCarro De Compras
Carro De Compras
 
LibreríAs De Java
LibreríAs De JavaLibreríAs De Java
LibreríAs De Java
 
Comandos java
Comandos javaComandos java
Comandos java
 
Practica 1 unidad 4
Practica 1 unidad 4Practica 1 unidad 4
Practica 1 unidad 4
 
Compilador divisor de cantidades con Jflex y Cup
Compilador divisor de cantidades con Jflex y CupCompilador divisor de cantidades con Jflex y Cup
Compilador divisor de cantidades con Jflex y Cup
 
Analizador Léxico y Sintáctico para Compilador que Invierte Cadenas utilizand...
Analizador Léxico y Sintáctico para Compilador que Invierte Cadenas utilizand...Analizador Léxico y Sintáctico para Compilador que Invierte Cadenas utilizand...
Analizador Léxico y Sintáctico para Compilador que Invierte Cadenas utilizand...
 
Curso Java Inicial 8 Conceptos Avanzados Awt
Curso Java Inicial   8 Conceptos Avanzados   AwtCurso Java Inicial   8 Conceptos Avanzados   Awt
Curso Java Inicial 8 Conceptos Avanzados Awt
 
3.1. macros internas
3.1. macros internas3.1. macros internas
3.1. macros internas
 

Similar a Datos de entrada_desde_el_teclado java

C6 net beansentradasysalidas
C6 net beansentradasysalidasC6 net beansentradasysalidas
C6 net beansentradasysalidasalenco
 
Java: Entrada y salida de datos por consola en windows.
Java: Entrada y salida de datos por consola en windows.Java: Entrada y salida de datos por consola en windows.
Java: Entrada y salida de datos por consola en windows.Sergio
 
Manuales ...
Manuales ...Manuales ...
Manuales ...elidetjc
 
Javascrip reynaldo gil
Javascrip reynaldo gilJavascrip reynaldo gil
Javascrip reynaldo gilreyking3000
 
Constructores & excepciones
Constructores & excepcionesConstructores & excepciones
Constructores & excepcionesJuan Mancilla
 
Programacion no numerica ii
Programacion no numerica iiProgramacion no numerica ii
Programacion no numerica iirolmanpaul
 
1 1 3 Api De Java
1 1 3 Api De Java1 1 3 Api De Java
1 1 3 Api De JavaUVM
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02Krizztiina Pacheko
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje javaMargarita Romero
 
Entrada y salida de datos en java
Entrada y salida de datos en javaEntrada y salida de datos en java
Entrada y salida de datos en javamariasuarezsalazar
 
Vocabulario java
Vocabulario  javaVocabulario  java
Vocabulario javalaurita30_x
 

Similar a Datos de entrada_desde_el_teclado java (20)

Clase 4 java 2011
Clase 4 java 2011Clase 4 java 2011
Clase 4 java 2011
 
Clase 4 JAVA 2012
Clase 4 JAVA 2012Clase 4 JAVA 2012
Clase 4 JAVA 2012
 
C6 net beansentradasysalidas
C6 net beansentradasysalidasC6 net beansentradasysalidas
C6 net beansentradasysalidas
 
Entrada De Datos
Entrada De DatosEntrada De Datos
Entrada De Datos
 
Ap01 java
Ap01 javaAp01 java
Ap01 java
 
Java: Entrada y salida de datos por consola en windows.
Java: Entrada y salida de datos por consola en windows.Java: Entrada y salida de datos por consola en windows.
Java: Entrada y salida de datos por consola en windows.
 
Manuales ...
Manuales ...Manuales ...
Manuales ...
 
Javascrip reynaldo gil
Javascrip reynaldo gilJavascrip reynaldo gil
Javascrip reynaldo gil
 
Java
JavaJava
Java
 
Constructores & excepciones
Constructores & excepcionesConstructores & excepciones
Constructores & excepciones
 
Jlex Cup
Jlex CupJlex Cup
Jlex Cup
 
Java
JavaJava
Java
 
Programacion no numerica ii
Programacion no numerica iiProgramacion no numerica ii
Programacion no numerica ii
 
1 1 3 Api De Java
1 1 3 Api De Java1 1 3 Api De Java
1 1 3 Api De Java
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
 
Entrada y salida de datos en java
Entrada y salida de datos en javaEntrada y salida de datos en java
Entrada y salida de datos en java
 
Vocabulario java
Vocabulario  javaVocabulario  java
Vocabulario java
 
Vocabulary diana
Vocabulary dianaVocabulary diana
Vocabulary diana
 

Último

Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfDannyTola1
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 

Último (20)

Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdf
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 

Datos de entrada_desde_el_teclado java

  • 1. DATOS DE ENTRADA DESDE EL TECLADO En este documento de presentan 3 clases para crear programas que lean datos de entrada desde el teclado. Las 3 clases son:  BufferedReader  Scanner  JOptionPane Las clases BufferedReader y Scanner nos permiten leer datos desde el teclado usando la consola, y la clase JOptionPane no permite leer datos desde el teclado usando un cuadro de Diálogo. Streams I/O Para entender un poco mejor el uso de estas clases definiremos que es un stream. Un stream es una secuencia de caracteres o bytes utilizados para la entrada o salida de un programa. Java proporciona varias clases Stream diferentes de entrada y salida en el paquete (API) java.io. Los objetos I/O más utilizados son: System.in (input stream, conectado al teclado) System.out (output stream, resultados normales en monitor) System.err (output stream para mensajes de error - monitor) Para convertir datos String a otros tipos se usan clases conocidas como clases envolventes (wrapper) para cada uno de los tipos primitivos. Lectura de datos desde teclado • Tres métodos de lectura: – Clase BufferedReader (consola). Esta clase se encuentra dentro del paquete java.io, por lo tanto debemos añadir la siguiente línea al inicio del código de nuestro programa: import java.io.BufferedReader; o también import java.io.*; Una vez que se ha añadido esta línea de código pondremos la siguiente instrucción dentro de nuestro método main: BufferedReader teclado = new BufferedReader( new InputStreamReader ( System.in ) ); Con esta instrucción se está creando un objeto llamado teclado (asociado al objeto System.in), a través del cual utilizaremos el método readLine( ) para leer los datos. El método readLine( ) regresa la cadena leída, por lo tanto debemos declarar una
  • 2. variable temporal de tipo String para almacenar la entrada, e invocar el método readLine(). Para leer del teclado, es necesario escribir la instrucción de entrada dentro de un bloque try-catch de la siguiente forma: try { String temp = teclado.readLine(); } catch( IOException e ) { System.out.println(“ Error de lectura”); } Ejemplo de lectura con BufferedReader import java.io.*; public class EjemploEntrada { public static void main( String[] args ) { BufferedReader teclado= new BufferedReader(new InputStreamReader(System.in) ); String name = ""; System.out.print("Escribe tu nombre:"); try{ name = dataIn.readLine(); } catch( IOException e ){ System.out.println("Error!"); } System.out.println("Hola " + name +"!"); } } Ejemplo de lectura con BufferedReader importando cada una de las clases utilizadas. import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Ejemplo2Entrada { public static void main( String[] args ) { BufferedReader teclado = new BufferedReader(new InputStreamReader( System.in) ); String name = ""; System.out.print("Escribe tu nombre:"); .
  • 3. . . En este ejemplo Las líneas import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; indican que deseamos usar las clases BufferedReader, InputStreamReader y IOException que están dentro del paquete (package) java.io. Estas instrucciones también se pueden escribir como: import java.io.*; La interfaz de programación de aplicaciones de Java (API – Application Programming Interface) contiene cientos de clases predefinidas que se pueden usar en los programas. Las clases de la API se organizan en lo que se llaman paquetes (packages) que contienen clases con un propósito relacionado. Se llaman en un programa con import nombre_package Análisis del ejemplo con BufferedReader • La sentencia public class EjemploEntrada { declara una clase llamada EjemploEntrada • La siguiente sentencia declara el método main public static void main( String[] args ){ • La sentencia BufferedReader teclado = new BufferedReader(new InputStreamReader( System.in) ); declara una variable objeto llamada teclado con el tipo de clase BufferedReader. • La sentencia String name = ""; declara una variable name de tipo String. • La siguiente sentencia System.out.print("Escribe tu nombre:"); Imprime en pantalla la cadena: Escribe tu nombre: • El bloque siguiente define un bloque try-catch try{ name = dataIn.readLine(); }catch( IOException e ){ System.out.println("Error!"); }
  • 4. Esto asegura que las posibles excepciones que pueden ocurrir en la sentencia name = dataIn.readLine(); serán capturadas. • En la sentencia name = teclado.readLine(); la llamada al método teclado.readLine(), lee la entrada del usuario y devuelve un String que se asigna a la variable name. El contenido de la variable name se usa para saludar al usuario en la sentencia: System.out.println("Hola " + name +"!"); Si se desea evitar el uso del try-catch deberá agregar la línea de código: throws IOException Enseguida del paréntesis de cierre del método main. public static void main( String[] args ) throws IOException Uso de la clase Scanner Otra manera de leer la entrada de usuario es usar la clase Scanner que se encuentra en el paquete: java.util La clase Scanner permite leer valores de varios tipos. Algunos de los métodos más usados de Scanner son:o Valor devuelto nextInt() lee el siguiente token como un integer nextDouble() lee el siguiente token como un double next() lee el siguiente token como un String nextLine() lee la línea entera (o el resto de la línea) como un String Pasos para el uso de la clase Scanner • Importar la clase Scanner que está en el paquete java.util con la línea: import java.util.Scanner; • Declarar y crear un objeto de la clase Scanner asociado al objeto System.in Scanner in = new Scanner(System.in); • Usar métodos del objeto Scanner para leer: int cantidad = in.nextInt(); double radio = in.nextDouble(); String mensaje = in.nextLine(); Ejemplo de lectura con Scanner import java.util.Scanner; public class EntradaConScanner { public static void main(String[] args) { double radio,area; // Se crea el objeto in para leer el dato entero Scanner in = new Scanner(System.in); System.out.print("Ingresar el radio del circulo: "); radio = in.nextDouble();
  • 5. // Calculo del area area=3.1416*r*r; System.out.print("Area del Circulo: " + area); } } Uso de la clase JOptionPane Otra manera de leer la entrada de usuario es usar la clase JOptionPane que se encuentra en el paquete: javax.swing Con JOptionPane es fácil crear un cuadro de diálogo estándar que solicita al usuario por un valor o informa de algo. Ejemplo de lectura con JOptionPane import javax.swing.JOptionPane; public class EjemploEntrada3 { public static void main( String[] args ) { String name = ""; name = JOptionPane.showInputDialog( "Escribe tu nombre"); String msg = "Hola " + name + "**"; JOptionPane.showMessageDialog(null, msg); } } Análisis del ejemplo con JOptionPane • La sentencia import javax.swing.JOptionPane; indica que queremos importar la clase JOptionPane del paquete javax.swing. También puede escribirse como: import javax.swing.*; • La sentencia name = JOptionPane.showInputDialog("Escribe tu nombre"); crea un diálogo de entrada JOptionPane, que muestra un diálogo con un mensaje, un campo de texto (textfield) y dos botones (Aceptar, Cancelar). • La cadena de caracteres que escribe el usuario se devolverá y asignará a la variable name. • La sentencia String msg = "Hola " + name + "**"; crea un mensaje de bienvenida que se almacena en la variable msg. • La sentencia JOptionPane.showMessageDialog(null, msg); muestra un diálogo que contiene un mensaje y un botón de Aceptar.