Autor Tema: Conversión de String a int ó Integer en Java valueOf parseInt (CU00670B)  (Leído 4438 veces)

Dan_SB

  • Avanzado
  • ****
  • Mensajes: 273
  • *<DanielsCK>*
    • Ver Perfil
Buenas tardes!!!

Resuelvo el ejercicio del capitulo 70° del curso. Se nos presento el siguiente código:

Código: [Seleccionar]
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:

Citar
¿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".

Citar
¿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:

Código: [Seleccionar]
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...!





« Última modificación: 11 de Abril 2015, 10:06 por Alex Rodríguez »
"Luchar por tus sueños y cumplirlos... eso es vivir.."

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Re:Ejercicio (CU00670B), Conversión de tipos de datos en java.
« Respuesta #1 en: 10 de Abril 2015, 09:47 »
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

Dan_SB

  • Avanzado
  • ****
  • Mensajes: 273
  • *<DanielsCK>*
    • Ver Perfil
Re:Ejercicio (CU00670B), Conversión de tipos de datos en java.
« Respuesta #2 en: 10 de Abril 2015, 16:41 »
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?
"Luchar por tus sueños y cumplirlos... eso es vivir.."

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Re:Ejercicio (CU00670B), Conversión de tipos de datos en java.
« Respuesta #3 en: 10 de Abril 2015, 19:35 »
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.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".