Autor Tema: Ejercicio CU00670B operator * cannot be applied to int, java.lang.String casting  (Leído 5472 veces)

momo

  • Principiante
  • **
  • Mensajes: 64
    • Ver Perfil
Citar
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?  Puedes comprobar si tu código y respuestas son correctas consultando en los foros aprenderaprogramar.com.

ERROR :

Bad operand types for binary operator '*' first type : int; second type:java.lang.String

Bueno la interpretación a realizar:
Es que el multiplicando es de tipo (int) y el multiplicador es de tipo (String), por lo tanto esa multiplicación no se puede realizar .

Para que la Multiplicación se realice hay que convertir el tipo(String) a cualquiera de los siguiente tipos(int,float,double,long).

En el Ejercicio veremos  la conversión de tipo(String) a (float) utilizando el metodo (valueOf)..

Ejercicio:
Código: [Seleccionar]
import javax.swing.JOptionPane;

public class ejemplo1 {
    public static void main (String[] Args) {
        String entradaUsuario=JOptionPane.showInputDialog ( "Introduzca un número:" );
        float convertir=Float.valueOf(entradaUsuario);
        System.out.println ("El doble del número introducido es: " + 2*convertir);       
                 
    }
}



« Última modificación: 26 de Septiembre 2014, 07:58 por Alex Rodríguez »

Jorge lopez

  • Sniper
  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 248
  • @SniperOfElite
    • Ver Perfil
Re:ENTREGA:CU00670B
« Respuesta #1 en: 24 de Septiembre 2014, 22:28 »
 Hola momo!

Tanto tu interpretación sobre el error:
"Bad operand types for binary operator '*' first type : int; second type:java.lang.String"
Como el código de tu ejercicio ambos son correctos. Solo tengo un "pequeño" detalle que comentar.

Has declarado como nombre de clase: ejemplo1. Lo correcto seria Ejemplo1, que el nombre de una clase comience con letra mayúscula no es obligatorio pero si es una buena practica de programación, con esto estas respetando un convenio entre programadores que consta de declarar el nombre de una clase comenzando con letra mayúscula.

También te hago un pequeño aporte por si te puede ser util en algún momento. Para realizar la conversion de String a float, también puedes usar el método "parseFloat(String s)" de la clase Float.

En tu ejercicio seria algo asi:
Código: [Seleccionar]
float convertir = Float.parseFloat(entradaUsuario);
Saludos!
while(estesVivo)
{
  aprende();
  ayuda();
  enseña();
}
if(mueres){teRecordaran();}

momo

  • Principiante
  • **
  • Mensajes: 64
    • Ver Perfil
Re:ENTREGA:CU00670B
« Respuesta #2 en: 25 de Septiembre 2014, 00:12 »
Hola Sniper no me di cuenta de lo del nombre de la clase  :-\  ,en sí tome el código que estaba planteado en el ejercicio y lo que hice fue modificar  a que hiciera la conversión.

Se me paso por alto  corregir el nombre de la clase .

Muchas  Gracias por tu aporte y  comentario amigo  :D

@dib_vz

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 11
    • Ver Perfil
Como se haria para convertir un String en un int, si es que eso es posible? :-\

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Hola, puedes hacerlo usando parseInt como en este ejemplo:

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 convertir=Integer.valueOf(entradaUsuario); //Para convertir a integer
        int convertir2 = Integer.parseInt(entradaUsuario); //Para convertir a int
        System.out.println ("El doble del número introducido es: " + 2*convertir2);       
                 
    }
}

 

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