Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Dan_SB en 09 de Abril 2015, 21:28
-
Buenas tardes!!!
Resuelvo el ejercicio del capitulo 70° del curso. Se nos presento el siguiente 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 error:El problema que tenemos es que nos salta un mensaje de error “operator * cannot be applied to int, java.lang.String”.
Y las preguntas, eran estas:
¿Qué interpretación haces de este mensaje de error?
String entradaUsuario = JOptionPane.showInputDialog ( "Introduzca un número:" );
Lo que sucede aqui, es que estamos usando este operador "*" (multiplicacion) con cadenas de texto.. osea, se esta multiplicando un entero por cadena de texto (int * String). Esto da como resultado como se ve, "Error".
¿Cómo se puede corregir el código para que a través de una conversión de tipos se ejecute el programa?
Lo corregi de esta manera:
import javax.swing.JOptionPane;
public class ejemplo1 {
public static void main (String[] Args) {
String entradaUsuario = JOptionPane.showInputDialog ( "Introduzca un número:" );
Integer num = 0;
num = num.valueOf(entradaUsuario);
System.out.println ("El doble del número introducido es: " + 2*num);
}
}
Ejecución...!
(http://i.imgur.com/e8TGZN3.png)
(http://i.imgur.com/lg2tOwc.png)
-
Hola Dan, ejercicio perfecto. Además de con valueof también se puede resolver de otras maneras, por ejemplo como se explica en www.aprenderaprogramar.com/foros/index.php?topic=2243
Saludos
-
Hola mario!!!
Osea, que cuando utilizo en este caso "valueOf" estoy transformando un objeto String a uno Integer y cuando se usa parseInt se transforma a tipo primitivo???
¿Cual opción seria la indicada o mas optima si es asi?
-
Hola Dan, depende de lo que necesites cuando estés programando. En este caso (este ejercicio del curso) ambas opciones son válidas ya que lo único que necesitamos es poder operar con el número y ver los resultados, no hay una mejor que otra. Saludos.