Hola, dejo mi solucion al ejercicio CU00670B
EJERCICIO
El API de Java proporciona herramientas para pedir datos al usuario a través de ventanas. Un ejemplo de ello es el uso de la clase JOptionPane perteneciente al paquete javax.swing.JOptionPane del API Java. El método showInputDialog permite pedir un dato al usuario y almacena su respuesta en un objeto de tipo String. Queremos crear un programa que pida al usuario un número y muestre por pantalla el doble de ese número. Para ello hemos creado este código:
import javax.swing.JOptionPane;
public class ejemplo1 {
public static void main (String[] Args) {
String entradaUsuario = JOptionPane.showInputDialog ( "Introduzca un número:" );
System.out.println ("El doble del número introducido es: " + 2*entradaUsuario);
}
}
El problema que tenemos es que nos salta un mensaje de error “operator * cannot be applied to int, java.lang.String”. ¿Qué interpretación haces de este mensaje de error? ¿Cómo se puede corregir el código para que a través de una conversión de tipos se ejecute el programa?
El error se genera porque estamos intentando usar un operador en un String. Es necesario convertir el String a Integer mediante el método valueOf().
Código corregido
import javax.swing.JOptionPane;
public class EjemploValueOf {
public static void main (String[] Args) {
Integer miInteger = 0;
String entradaUsuario = JOptionPane.showInputDialog ( "Introduzca un número:" );
miInteger = miInteger.valueOf (entradaUsuario);
System.out.println ("El doble del número introducido es: " + 2*miInteger);
}
}
Gracias!