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

Título: Ejemplo simple swing Java ventana pedir datos usuario JOptionPane show CU00670B
Publicado por: Dimitar Stefanov en 05 de Marzo 2016, 20:17
Posible solución del ejercicio CU00670B del curso Java desde cero.

Citar
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?

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; //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.
Título: Re:Ejemplo simple swing Java ventana pedir datos usuario JOptionPane show CU00670B
Publicado por: César Krall en 07 de Marzo 2016, 08:42
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!