Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: el_calderas en 12 de Marzo 2015, 16:36
-
Hola,
esta es mi solución a este ejercicio:
import javax.swing.JOptionPane;
public class ejemploLibro {
public static void main (String[] Args) {
String entradaUsuario = JOptionPane.showInputDialog ( "Introduzca un número:" );
Integer entradaUsuarioInt=0;
entradaUsuarioInt=entradaUsuarioInt.valueOf(entradaUsuario);//me da un error y me pide inicializar la variable entradaUsuarioInt
System.out.println ("El doble del número introducido es: " + 2*entradaUsuarioInt);
}
}
Y una pregunta, porque no me queda clara una cosa.
Cuando estaba escribiendo el codigo, intente hacerlo primero con el tipo int y me devolvio un error el metodo valueOf. Al hacerlo con el tipo Integer, me desaparecio el error.
¿es porque no se puede transformar de un String a un int? ya que el metodo valueOf siempre devuelve un String, ¿verdad?
Un saludo.
-
Hola calderas
Tu solución es correcta.
Para hacer la operación matemática se necesitan valores numéricos. Y con un String no se pueden hacer.
El método valueOf hace la conversión de String a Integer en tu código. Y así se puede realizar la operación.
El int es un tipo primitivo que no tiene métodos.
El método valueOf es de la clase Integer.
Los valores int y Integer con compatibles
El método valueOf no devuelve un String, sino que convierte un String en el valor numérico, en este caso un Integer.
Las clases Float y Double también tienen método valueOf para convertir un String a sus valores.
Saludos
-
Muchas gracias por la aclaración. Ahora lo entiendo.
Un saludo.