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!