Curso Java. Entrada Salida datos II. Vídeo 15

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 JOptionPane como una alternativa a la clase Scanner para introducir información en el programa.

Creación de una Nueva Clase

  • Se crea una nueva clase llamada EntradaEjemploDos, generando automáticamente el método main.
  • Se revisa la API para obtener información sobre la clase JOptionPane, destacando que pertenece al paquete javax.swing.

Importación y Métodos de JOptionPane

Importación del Paquete

  • Se importa el paquete javax.swing para poder utilizar las clases dentro de él.

Exploración del Método Show Input Dialog

  • El instructor busca el método showInputDialog en 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 nombreUsuario utilizando el método showInputDialog.
  • 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 un String. Esto implica que no se puede almacenar su resultado en una variable de tipo entero.

Solución inicial

  • Se debe declarar la variable edad como String para evitar errores. Al hacerlo, se resuelve el problema inmediato al almacenar correctamente el valor devuelto.

Impresión del mensaje

  • Se utiliza System.out.println para 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 edad sumando 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 edad fue declarada como un String, lo cual provoca una concatenación en lugar de una suma numérica.

Conversión necesaria

  • Para solucionar este problema, es necesario convertir el String a un valor numérico utilizando el método parseInt. 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 variable edad. 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 mediante Integer.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 variable edadUsuario.
  • 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 NumberFormat se 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 Scanner para 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.2f indica 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 JOptionPane para 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 un String ingresado por el usuario en un número de tipo double. 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 println imprime el contenido y realiza un salto de línea, mientras que print mantiene 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.swing para utilizar métodos como JOptionPane.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

Video description

Continuamos viendo en este vídeo la entrada de datos utilizando la clase JOptionPane del paquete javax.swing. Para más cursos, manuales y ejercicios, visita http://www.pildorasinformaticas.com