Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: heseos en 26 de Abril 2014, 22:53

Título: Ejercicio con switch java (CU00637B)
Publicado por: heseos en 26 de Abril 2014, 22:53
Considera estás desarrollando un programa Java donde necesitas trabajar con objetos de tipo Motor (que representa el motor de una bomba para mover fluidos). Define una clase Motor considerando los siguientes atributos de clase: tipoBomba (int), tipoFluido (String), combustible (String). Define un constructor asignando unos valores de defecto a los atributos y los métodos para poder establecer y obtener los valores de los atributos. Crea un método tipo procedimiento denominado dimeTipoMotor() donde a través de un condicional switch hagas lo siguiente:

a) Si el tipo de motor es 0, mostrar un mensaje por consola indicando “No hay establecido un valor definido para el tipo de bomba”.

b) Si el tipo de motor es 1, mostrar un mensaje por consola indicando “La bomba es una bomba de agua”.

c) Si el tipo de motor es 2, mostrar un mensaje por consola indicando “La bomba es una bomba de gasolina”.
d) Si el tipo de motor es 3, mostrar un mensaje por consola indicando “La bomba es una bomba de hormigón”.
e) Si el tipo de motor es 4,mostrar un mensaje por consola indicando “La bomba es una bomba de pasta alimenticia”.
f) Si no se cumple ninguno de los valores anteriores mostrar el mensaje “No existe un valor válido para tipo de bomba”

Favor de corregir
Código: [Seleccionar]
public class Motor{
    int tipoBomba;
    String tipoFluido;
    String combustible;

    public Motor () {
        tipoBomba = 0;
        tipoFluido = "Diesel";
        combustible = "gasolina";
    }

    public void setTipoMotor (String valorTipoFluido){
        tipoFluido = valorTipoFluido;
    }

    public void setCombustible (String valorCombustible){
        combustible = valorCombustible;
    }

    public void setTipoBomba (int valorTipoBomba){
        tipoBomba = valorTipoBomba;
        switch (tipoBomba){
            case 0: System.out.println ("No hay un valor definido para tipo de bomba");break;
            case 1: System.out.println ("La bomba es una bomba de agua");break;
            case 2: System.out.println ("La bomba es una bomba de gasolina");break;
            case 3: System.out.println ("La bomba es una boomba de hormigon");break;
            case 4: System.out.println ("La bomba es una bomba alimenticia");break;
            default : System.out.println ("No existe un valor valido para tipo de bomba");break;
        }
    }
}

Tengo una pregunta, Como se cuanto debo usar los tipo get? tengo claro los de set pero si pudieran aclarármelo un poco mejor agradecería.
Título: Re:Ejercicio con switch java (CU00637B)
Publicado por: Alex Rodríguez en 26 de Abril 2014, 23:28
Hola, los métodos get y set se consideran en general métodos estándar que se incluyen en casi todas las clases java. Por tanto, para todos los atributos debes definir métodos get y set, aquí te falta crear los métodos get. Otra cosa poco correcta es inicializar con tipoFluido = "Diesel";, sería más correcto tipoFluido = ""; ó tipoFluido = "Desconocido";, lo mismo para combustible. Y finalmente debes cambiar el método set tipo Bomba y dejarlo para establecer el valor de tipo de bomba y no para indicar de qué tipo es la bomba, para eso debes crear un nuevo método que sirva para decir de qué tipo es la bomba...
Título: Re:Ejercicio con switch java (CU00637B)
Publicado por: heseos en 27 de Abril 2014, 19:08
Codigo modificado, no se si para el caso del switch tabien necesito un tipo get pero me parece que no...
Código: [Seleccionar]
public class Motor{
    int tipoBomba;
    String tipoFluido;
    String combustible;

    public Motor () {
        tipoBomba = 0 ;
        tipoFluido = "Desconocido";
        combustible = "Desconocido";
    }

    public void setTipoFluido (String valorTipoFluido){
        tipoFluido = valorTipoFluido;
    }

    public void setCombustible (String valorCombustible){
        combustible = valorCombustible;
    }

    public void setTipoBomba (int valorTipoBomba){
        tipoBomba = valorTipoBomba;
       
    }
   
    public void Dimetipodemotor (){
   
        switch (tipoBomba){
            case 0: System.out.println ("No hay un valor definido para tipo de bomba");break;
            case 1: System.out.println ("La bomba es una bomba de agua");break;
            case 2: System.out.println ("La bomba es una bomba de gasolina");break;
            case 3: System.out.println ("La bomba es una boomba de hormigon");break;
            case 4: System.out.println ("La bomba es una bomba alimenticia");break;
            default : System.out.println ("No existe un valor valido para tipo de bomba");break;
        }
    }
   
    public String getTipoFluido (){return tipoFluido;}
    public String getCombustible (){return combustible;}
    public int getTipoBomba (){return tipoBomba;}
}
Título: Re:Ejercicio con switch java (CU00637B)
Publicado por: Alex Rodríguez en 27 de Abril 2014, 19:23
Hola, para cada acción un constructor diferente no es la idea. En principio, trabajaremos con un constructor para una clase y diferentes métodos (tantos como sea necesario).

Un método debe encargarse de una tarea, por ejemplo establecer el valor de un atributo.

En este caso tendríamos diferentes métodos: un método cuyo fin es establecer el valor de tipoBomba (atributo de la clase):

Código: [Seleccionar]
public void setTipoBomba (int valorTipoBomba){
        tipoBomba = valorTipoBomba;
}

Otro método cuyo fin es mostrar un mensaje por pantalla indicando el tipo de bomba que tiene como atributo un objeto:

Código: [Seleccionar]
public void dimeTipoMotor (){
        switch (tipoBomba){
            case 0: System.out.println ("No hay un valor definido para tipo de bomba");break;
            case 1: System.out.println ("La bomba es una bomba de agua");break;
            case 2: System.out.println ("La bomba es una bomba de gasolina");break;
            case 3: System.out.println ("La bomba es una boomba de hormigon");break;
            case 4: System.out.println ("La bomba es una bomba alimenticia");break;
            default : System.out.println ("No existe un valor valido para tipo de bomba");break;
        }


Esto es lo que dice el enunciado del ejercicio: <<Crea un método tipo procedimiento denominado dimeTipoMotor()>>

Saludos.
Título: Re:Ejercicio con switch java (CU00637B)
Publicado por: heseos en 27 de Abril 2014, 19:26
Ahora si lo entendi claro Muchas gracias >.<