Curso Java. Entrada Salida datos II. Vídeo 15
Introducción a la Clase J Option Pane
Continuación del Curso de Programación en Java
- El instructor da la bienvenida y menciona que continuarán con el tema de entrada de datos y formato de resultados.
- Se introduce la clase
JOptionPanecomo una alternativa a la claseScannerpara introducir información en el programa.
Creación de una Nueva Clase
- Se crea una nueva clase llamada
EntradaEjemploDos, generando automáticamente el métodomain.
- Se revisa la API para obtener información sobre la clase
JOptionPane, destacando que pertenece al paquetejavax.swing.
Importación y Métodos de JOptionPane
Importación del Paquete
- Se importa el paquete
javax.swingpara poder utilizar las clases dentro de él.
Exploración del Método Show Input Dialog
- El instructor busca el método
showInputDialogen la API, observando sus características.
- Se identifican varios métodos con el mismo nombre, algunos devuelven un String y otros un objeto.
Uso Práctico del Método Show Input Dialog
Declaración y Uso de Variables
- Se explica que no es necesario instanciar la clase
JOptionPane, se puede usar directamente con su nombre.
- El método seleccionado recibe un mensaje como argumento, que será un objeto tipo String.
Implementación en Eclipse
- En Eclipse, se declara una variable tipo String llamada
nombreUsuarioutilizando el métodoshowInputDialog.
- Se construye una ventana donde se solicita al usuario que introduzca su nombre mediante un cuadro de texto.
Ejecución del Programa y Solicitud Adicional
Visualización del Cuadro de Diálogo
- Al ejecutar el programa, aparece por primera vez la ventana generada por
showInputDialog, permitiendo al usuario ingresar su nombre.
Solicitud Adicional: Edad
- Después de solicitar el nombre, se planea pedir también la edad.
Error en el manejo de tipos de datos en Java
Identificación del error
- Eclipse indica un error relacionado con el tipo de dato devuelto por el método
showInputDialog, que es unString. Esto implica que no se puede almacenar su resultado en una variable de tipo entero.
Solución inicial
- Se debe declarar la variable
edadcomoStringpara evitar errores. Al hacerlo, se resuelve el problema inmediato al almacenar correctamente el valor devuelto.
Impresión del mensaje
- Se utiliza
System.out.printlnpara imprimir un mensaje que incluye el nombre del usuario y su edad. Es importante recordar que las variables son sensibles a mayúsculas y minúsculas en Java.
Ejecución del programa
- Al ejecutar el programa, se solicita al usuario ingresar su nombre y edad. El resultado impreso es correcto: "Hola ju tienes 18 años".
Modificación para mostrar la edad futura
- Para mostrar la edad que tendrá el año siguiente, se modifica la variable
edadsumando uno. El mensaje cambia a "tendrás" en lugar de "tienes".
Problemas con la concatenación de Strings
Resultado inesperado
- A pesar de los cambios, al ejecutar nuevamente, se muestra "181 años". Esto ocurre porque
edadfue declarada como unString, lo cual provoca una concatenación en lugar de una suma numérica.
Conversión necesaria
- Para solucionar este problema, es necesario convertir el
Stringa un valor numérico utilizando el métodoparseInt. Este método pertenece a la clase Integer y permite transformar cadenas numéricas en enteros.
Uso del método parseInt
Procedimiento para conversión
- Se debe utilizar el método
parseInt, pasando como argumento la variableedad. Este método devuelve un entero y es estático, lo que significa que se invoca directamente desde la clase Integer.
Implementación práctica
- Antes de imprimir el mensaje final, se declara una nueva variable llamada
edadUsuario, asignándole el valor convertido medianteInteger.parseInt(edad).
Resultado final esperado
Introducción a la entrada de datos en Java
Uso de variables y operadores
- Se introduce una nueva variable para almacenar la edad del usuario, permitiendo que el programa sume un año a la edad ingresada.
- Se sugiere utilizar el operador de incremento
++en lugar de sumar uno manualmente a la variableedadUsuario.
- Se explica que
++incrementa el valor de una variable en uno, mientras que--lo decrementa.
Formato de resultados numéricos
- Se discuten diferentes métodos para formatear resultados numéricos en Java, especialmente al trabajar con números decimales.
- La clase
NumberFormatse menciona como una herramienta útil para modificar el formato numérico, aunque requiere conocimientos adicionales.
Formateo sencillo de números
Ejemplo práctico con Scanner
- Se propone un ejemplo simple utilizando la clase
Scannerpara leer un número y realizar cálculos básicos.
- Se declara una variable tipo doble y se realiza una división, mostrando los resultados con muchos decimales.
Redondeo a dos decimales
- Para redondear resultados a dos decimales, se utiliza el método
printf, especificando el formato deseado.
- El formato
%1.2findica que se desea mostrar un número con dos decimales; cambiar el 2 por otro número ajustará los decimales mostrados.
Uso avanzado: Raíz cuadrada y conversión de tipos
Interacción con el usuario
- Se utiliza
JOptionPanepara solicitar al usuario que introduzca un número, almacenándolo como texto.
Conversión de tipos
Introducción a la conversión de tipos en Java
Conversión de String a Double
- Se utiliza
Double.parseDouble()para convertir unStringingresado por el usuario en un número de tipodouble. Esto es esencial para realizar cálculos numéricos.
Impresión de resultados
- Se emplea
System.out.print()para mostrar la raíz cuadrada del número convertido, evitando un salto de línea posterior. Esto permite que el siguiente mensaje se imprima en la misma línea.
Diferencia entre print y println
- La función
printlnimprime el contenido y realiza un salto de línea, mientras queprintmantiene todo en la misma línea. Esta distinción es importante para el formato visual del output.
Uso de printf para formatear salidas
Sintaxis y formato
- Se utiliza
System.out.printf()con una cadena de formato que incluye especificadores como%1.2f, lo que indica que se desea imprimir un número con dos decimales.
Cálculo y presentación
- El resultado se obtiene aplicando
Math.sqrt(), asegurando que los valores sean presentados adecuadamente según el formato definido.
Ejecución del programa y manejo de errores
Importación necesaria
- Es necesario importar el paquete
javax.swingpara utilizar métodos comoJOptionPane.showInputDialog(), permitiendo al usuario ingresar datos numéricos a través de una ventana emergente.
Conversión correcta
- Se debe convertir correctamente el valor ingresado a tipo double, ya que métodos como
Math.sqrt()requieren este tipo específico, no entero.
Ejemplo práctico: cálculo de raíces cuadradas
Ejecución del ejemplo
- Al ejecutar el programa e ingresar "8", se calcula su raíz cuadrada, mostrando solo dos decimales gracias al formato aplicado. El resultado es "La raíz de 8 es 2.83".
Variaciones en los resultados
- Si se ingresa otro número como "1.4", se puede observar cómo cambia la cantidad de decimales mostrados dependiendo del formato establecido previamente.
Formatos adicionales en Java
Formatos disponibles