Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Dimitar Stefanov en 05 de Marzo 2016, 20:17
-
Posible solución del ejercicio CU00670B del curso Java desde cero.
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?
import javax.swing.JOptionPane;
public class ejemplo1{
public static void main(String []Args){
String entradaUsuario = JOptionPane.showInputDialog("Introduzca un número");
Integer convertir; //Por lo que he leido en los foros, tamibén se puede declarar así: int convertir; y el compilador automáticament (en segundo plano convierte "convertir" en un objeto Integer
convertir = Integer.valueOf(entradaUsuario);
System.out.println("El dobre del número introducido es: "+2*convertir);
}
}
Gracias.
-
Hola! La interpretación del error es que al querer multiplicar un entero 2 * String (entradaUsuario) salta error por incompatibilidad de tipos.
El código propuesto funciona bien y corrige el problema
Saludos!