Curso Java. Entrada Salida datos I. Vídeo 14
¿Cómo introducir datos en Java?
Introducción a la entrada y salida de datos
- Bienvenida al curso de programación en Java, donde se exploran estructuras fundamentales.
- Se introduce el concepto de entrada de datos, que permite cambiar el flujo de información dentro del programa.
- Hasta ahora, se ha utilizado la consola para mostrar información mediante
System.out, pero ahora se aprenderá a introducir datos.
Interfaz gráfica y formularios
- Se menciona la importancia de las interfaces gráficas (GUI), comparándolas con formularios en Access.
- Las GUI permiten tanto visualizar como introducir información en un programa, similar a cómo funcionan los formularios en bases de datos.
- La creación de una GUI requiere conocimientos avanzados; se abordará más adelante con Swing y AWT.
Clase Scanner para entrada de datos
- Se presenta la clase
Scanner, introducida desde Java 5, como herramienta para recibir entradas desde la consola.
- Con
Scanner, es posible leer texto y números enteros o decimales utilizando métodos específicos comonextLine(),nextInt(), ynextDouble().
Alternativa: Clase JOptionPane
- Otra opción para recibir entradas es usar la clase
JOptionPane, que permite crear ventanas emergentes simples para ingresar datos.
- El método estático
showInputDialogcrea un cuadro donde el usuario puede escribir información; este método pertenece a la claseJOptionPane.
Métodos estáticos vs. no estáticos
- Se explica que los métodos estáticos requieren el nombre de su clase al ser llamados, mientras que los métodos no estáticos no lo necesitan.
Introducción a la Clase Scanner en Java
Importancia de la Clase Scanner
- La clase
Scanneres fundamental para leer datos de entrada en Java, y su uso requiere crear un objeto de esta clase antes de invocar sus métodos.
- Se menciona que el aprendizaje de Java puede ser complicado al principio, ya que muchos estudiantes aprenden instrucciones sin comprender su funcionamiento.
Aprendizaje y Comprensión
- Es común que los nuevos programadores memoricen códigos sin entenderlos, lo cual no es una forma efectiva de programación.
- El instructor anima a los estudiantes a confiar en el proceso de aprendizaje, sugiriendo que con el tiempo se aclararán conceptos complejos como la programación orientada a objetos.
Ejemplos Prácticos
- Se planea utilizar ejemplos prácticos para ilustrar cómo introducir información en programas utilizando
ScanneryJOptionPane.
- El instructor abre Eclipse para mostrar un ejemplo práctico relacionado con la clase
Scanner.
Manejo de Errores en Eclipse
- Se destaca un error al intentar usar
Scannersin importar el paquete correspondiente (java.util), lo cual es crucial para evitar problemas al ejecutar el código.
- Eclipse proporciona herramientas visuales para identificar errores, señalando tanto las clases con errores como las carpetas del proyecto afectadas.
Ejecución y Solución de Problemas
- Ignorar errores puede resultar incómodo durante la ejecución del programa; se recomienda solucionarlos antes de continuar.
- Al ejecutar una clase sin errores, se observa una ventana emergente que advierte sobre problemas existentes en el proyecto.
Creación y Uso del Objeto Scanner
- El instructor decide eliminar clases con errores para mantener limpio el proyecto antes de proceder con ejemplos prácticos.
¿Qué es un constructor en programación orientada a objetos?
Definición y características de los constructores
- Un constructor es un método especial que tiene el mismo nombre que la clase a la que pertenece. Por ejemplo, en la clase
Math, métodos comosqrtyroundno son constructores.
- La clase
Scannercontiene varios métodos, incluyendo constructores. Los constructores se caracterizan por tener el mismo nombre que la clase.
- Algunas clases tienen un único constructor, mientras que otras pueden tener múltiples. Esto permite crear objetos con diferentes estados iniciales dependiendo de los argumentos pasados al constructor.
- Al crear un objeto, es necesario proporcionarle un estado inicial mediante el constructor. Es importante recordar que este método debe coincidir con el nombre de la clase.
Uso del constructor en Java
- Se anticipa utilizar el primer método constructor de
Scanner, que construye un objeto para leer datos desde una fuente especificada, como la consola del sistema.
- Para usar el constructor, se debe anteponer la palabra clave
new. Por ejemplo:Scanner entrada = new Scanner(System.in);.
- El uso del método constructor requiere importar el paquete correspondiente (
java.util) para evitar errores al compilar.
Ejemplo práctico y ejecución
- Una vez creado el objeto
Scanner, se puede imprimir un mensaje en pantalla solicitando al usuario introducir su nombre utilizando:System.out.println("Introduce tu nombre");.
- Aunque hasta ahora solo imprime un mensaje, también declara una variable de tipo objeto para almacenar lo introducido por el usuario en consola.
Métodos para capturar entradas
- Para almacenar datos ingresados por el usuario, es necesario especificar qué tipo de dato se va a introducir usando métodos como
nextLine(),nextInt(), etc., pertenecientes a la claseScanner.
- Estos métodos no son estáticos; requieren haber creado previamente un objeto de tipo
Scanner. Por ejemplo: si queremos guardar texto ingresado por el usuario, utilizamos:
String nombreUsuario = entrada.nextLine();
- Cada método devuelve diferentes tipos de datos (e.g.,
nextDouble()devuelve un doble). Es crucial entender cómo funcionan estos métodos para manejar correctamente las entradas del usuario.
Introducción a la entrada de datos en Java
Uso de Scanner para capturar entradas del usuario
- Se explica cómo utilizar la clase
Scannerpara esperar una entrada de tipo string, que se almacenará en la variablenombreUsuario.
- Se declara una variable entera llamada
edad, que se asigna mediante el métodonextInt()del objetoScanner, permitiendo al programa escanear un número entero.
- El programa espera que el usuario introduzca un número entero, que será almacenado en la variable
edaddespués de mostrar un mensaje solicitando esta información.
Impresión de resultados y concatenación
- Se imprime un mensaje final utilizando
System.out.println(), donde se saluda al usuario y se calcula su edad para el próximo año sumando 1 a la variableedad.
- Se muestra el código completo del programa, con instrucciones sobre cómo ejecutarlo correctamente en Eclipse.
Ejecución y flujo del programa
- Al ejecutar el programa, este lee las líneas secuencialmente; primero declara variables y luego espera entradas del usuario.
- La consola indica que está esperando una entrada mediante un cuadrado rojo, lo cual significa que el programa no ha terminado su ejecución.
Interacción con el usuario
- Al pulsar Enter después de introducir los datos, el programa continúa su ejecución mostrando mensajes adicionales según las entradas proporcionadas por el usuario.
- El usuario introduce su nombre y edad; luego, se realiza una operación aritmética para calcular la edad futura.
Problemas comunes y soluciones
- Se discute un error común relacionado con la concatenación de strings y números. Es importante usar paréntesis para evitar confusiones entre operaciones matemáticas y concatenaciones.
- Se enfatiza la necesidad de formatear correctamente las cadenas al imprimir resultados para evitar errores lógicos en los cálculos.
Conclusión sobre instanciación de clases
- Se menciona brevemente el concepto de instanciar clases en Java usando el operador
newjunto con constructores.
¿Cómo ajustar la precisión de los resultados numéricos?
Ajuste de decimales en cálculos
- Se discute la importancia de poder ajustar la cantidad de decimales en los resultados numéricos, especialmente al aplicar operaciones matemáticas como la raíz cuadrada.
- El enfoque se centra en cómo permitir que los usuarios elijan cuántos decimales desean ver en sus resultados, lo que mejora la claridad y utilidad de las respuestas.
- Se menciona que este tema será tratado más a fondo en un próximo video, sugiriendo una continuación del aprendizaje sobre el manejo de números decimales.