Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: el_calderas en 12 de Marzo 2015, 16:36

Título: Solucion CU00670B conversion tipos de datos java tipado ejemplos metodo valueOf
Publicado por: el_calderas en 12 de Marzo 2015, 16:36
Hola,
esta es mi solución a este ejercicio:
Código: [Seleccionar]
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.
Título: Re:Solucion CU00670B conversion tipos de datos java tipado ejemplos metodo valueOf
Publicado por: toni_apr en 12 de Marzo 2015, 23:49
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
Título: Re:Solucion CU00670B conversion tipos de datos java tipado ejemplos metodo valueOf
Publicado por: el_calderas en 17 de Marzo 2015, 15:49
Muchas gracias por la aclaración. Ahora lo entiendo.
Un saludo.