Respuesta para el ejercicio CU00670B del taller de programación en Java desde cero:
Ejercicio Propuesto
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?
Interpreto que el error esta al querer multiplicar un Entero(2) * UnString(entradaUsuario). Segun la entrega que estamos viendo, hay que hacerlo con el metodo valueOf de la clase string.
Este es mi codigo y consulto, seria lo mismo que usar el metodo parseInt de la clase Integer visto anteriormente???
/**
* Resolucion al Ejercicio CU00670B
*
* @author Hugo Segura(hymsoft)
* @version (a version number or a date)
*/
import javax.swing.JOptionPane;
public class TestCU00670B{
public static void main(String []Args){
String datoUsuario = JOptionPane.showInputDialog("Introduzca un número");//Solicito el ingreso
Integer str_a_Int = Integer.valueOf(datoUsuario);//transformo el ingreso de String a Integer
System.out.println("El doble del número introducido es: " + 2 * str_a_Int );//Imprimo el resultado
}
}