Home Foros Foro dudas Foro de Java Dudas con la respuesta Entrada datos Respuesta a: Dudas con la respuesta Entrada datos

Respuesta a: Dudas con la respuesta Entrada datos

Home Foros Foro dudas Foro de Java Dudas con la respuesta Entrada datos Respuesta a: Dudas con la respuesta Entrada datos

#17775

FrankMegia
Participante

Hola María del Mar:

Ahora si he entendido tu duda y voy a tratar de explicártelo para que más o menos te quede claro. Realmente no debes ver las respuestas por separado, sino ambas a la vez y entonces elegir la que realmente es correcta, de este modo:

¿Cómo puedo hacer una entrada de datos?

a) Mediante la sentencia variable = JOptionPane.showMessageDialog(null, “Entrada de datos”);

Esta respuesta sería la correcta si te preguntaran para “entrada de datos de cadena“. Esta sería incorrecta para cualquier otro tipo de dato. Con lo cual, no es válida para cualquier tipo de dato.

b) Mediante la sentencia Integer.parseInt para datos enteros, Double.parseDouble para datos decimales y JOptionPane para cadenas.

Esta sería la correcta porque te esta indicando que tienes que usar para cualquier tipo de dato. Me explico: para números enteros debes usar el Integer.parseInt de la siguiente manera:

int numero = Integer.parseInt(JOptionPane.showMessageDialog(null, “Introduce número”));

Primero se evalúa/ejecuta lo que esta dentro del paréntesis y se obtiene un String del JOptionPane, después parseInt transforma una cadena en número entero, y así podrías almacenar el entero introducido. Esto se aplica igualmente para el caso del Double.

Para datos tipo cadena no necesitas transformación, con lo que puedes almacenar el dato introducido directamente:

String nombre = JOptionPane.showMessageDialog(null, “Introduce nombre”);

Quizá lo que te causa la duda es que en la respuesta b) esta implícito el uso de JOptionPane en cualquiera de los 3 casos, porque de otro modo no obtendrías la ventana de introducción de datos. La pregunta va más orientada a qué debes usar para obtener el tipo de dato deseado.

Espero que esto haya resuelto tu duda de por qué la opción b) era la correcta.

Un saludo:

Fran