Autor Tema: Ejercicio CU00637B switch, case y break en java  (Leído 3716 veces)

jga

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 31
    • Ver Perfil
Ejercicio CU00637B switch, case y break en java
« en: 11 de Septiembre 2014, 17:59 »
Hola , pues aqui como siempre practicando con java , presento mi ejercicio , para ver si esta correcto y puede servir como ejemplo .

Un abrazo y gracias!!.

Código: [Seleccionar]

// clase

public class Motor
{
    private int tipo ;
    private String fluido ;
    private String combustible ;

    // constructor

    public Motor ()

    {
        int tipo = 0 ;
        String fluido = "" ;
        combustible = "" ;
    }
    // fin del constructor

    // procedimientos para insercion de valores
    public void setTipo (int valueTipo)
    {
        tipo = valueTipo ;

    }

    public void setFluido (String valueFluido)
    {
        fluido = valueFluido;
    }

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

    public void tecleeTipoMotor (int tMotor)
    {

        switch (tMotor)
        {
            case 0 :
            System.out.println ("No hay establecido un valor definido para el 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 bomba de hormigón");
            break;

            case 4 :
            System.out.println ("La bomba es una bomba de pasta alimenticia");
            break;

            default:
            System.out.println ("No existe ese tipo de bomba en nuestra base de datos");
            break;
        }
    }
    //fin de procedimientos

    //funciones para obtener los valores ajustados
    public int getTipo ()
    {
        return tipo ;
    }

    public String getFluido ()

    {
        return fluido ;
    }

    public String getCombustible ()

    {
        return combustible ;
    }
    //fin de funciones
}
// cierre clase


« Última modificación: 12 de Septiembre 2014, 08:08 por César Krall »

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Re:Ejercicio CU00637B
« Respuesta #1 en: 11 de Septiembre 2014, 21:28 »
Hola jga
Tu clase Motor está construida con todos sus elementos correctos excepto en un detalle
Tu método

public void tecleeTipoMotor (int tMotor)

Es válido, pero no es lo que se pedía en el ejercicio.

Tu método funciona así:
Con el método

public void setTipo (int valueTipo)

Decides que tipo de motor tienes, un número entero: 0, 1, 2, etc.
Cuando llamas al método

public void tecleeTipoMotor (int tMotor)

Te pide el tipo de motor que tienes. Tienes que recordar que tipo de motor le pusiste, o bien le das un tipo de motor distinto del que realmente tiene.

En el primer caso, nosotros trabajamos para el programa, cuando es el programa el que tiene que trabajar para nosotros.
La clase Motor tiene un atributo 'tipo' que guarda el valor del tipo de motor, es decir, la clase siempre sabe los valores de sus atributos, no hace falta que nosotros se lo recordemos.

En el segundo caso, puede darse el caso que el tipo de motor sea 2 y al invocar el método

public void tecleeTipoMotor (int tMotor)

Le dices que tMotor es 4. El método no funcionaria bien, te dará una respuesta incorrecta para el tipo de motor que tienes.

Lo correcto es que el método 'tecleeTipoMotor' no tenga ningún parámetro, pero tenga en cuenta el valor del atributo 'tipo' para dar su respuesta.

Llegados a este punto tu clase no tendría que llamarse 'tecleeTipoMotor' pues daría lugar a engaño.
El nombre propuesto en el ejercicio 'dimeTipoMotor()' es idóneo.

Si hay algo que no entiendes, aquí estamos para ayudar.
Saludos.

jga

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 31
    • Ver Perfil
Re:Ejercicio CU00637B switch, case y break en java
« Respuesta #2 en: 16 de Septiembre 2014, 11:50 »
Hola y ante todo gracias Tony . Entonces lo que quieres decirme es que ¿ el método esta bien  planteado pero el nombre es incorrecto ? y me surge otra duda y no se si la expresaré bien , el método  dimeTipoMotor() ¿sirve para indicar el tipo de motor que corresponde  al dígito que introduzcamos en cualquier objeto de la clase , o sea  , yo obtengo el tipo de motor de un objeto y me devuelve un valor , sea 1 y el método esta para introduciendo ese valor , decirme que tipo de motor es en base a ello invocándolo y introduciendo ese valor ?
perdona las dudas , se que soy un poco torpe , y muchas gracias y un abrazo.

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Re:Ejercicio CU00637B switch, case y break en java
« Respuesta #3 en: 16 de Septiembre 2014, 22:04 »
Hola jga
No, el método dimeTipoMotor(), hace lo que dice el nombre, decirme de que tipo es el motor.
Supón que tu tienes un amigo que esta al lado de un coche, y tu le dices.
Dime de que tipo es el motor.
Y el mira dentro del coche, y te dice el motor es de tipo... lo que sea.

Te pongo un enlace para que lo veas
https://www.aprenderaprogramar.com/foros/index.php?topic=1206.msg6646#msg6646

Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".