Autor Tema: Ejercicio concepto de signatura de metodos en java CU00630B  (Leído 3364 veces)

vgrisales

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 16
    • Ver Perfil
Buenas  noches a todos los de aprender a programar. Aquí adjunto el entregable de signatura de metodos pues no se si esta bien, pero ps tengo una duda en la parte donde el administrador ingresa las duraciones de las canciones una por una no se si es de esta forma,
lo otro es que  al realizar la solicitud en el objeto introducir duraciones no me aparece el mensaje de texto que le indica al administrador que ingrese las duraciones de  las canciones una por una ,
tambien cuando creo los objectos en blueJ y compilo se borran los objetos creados y hay que volver a colocarlos cada que haya compilado.

agradeco mucho la ayuda prestada
att: victor 

Código: [Seleccionar]
public class DiscoMusical {

    private float obtenerDuracion;
    private float cancion1;
    private float cancion2;
    private float cancion3;
    private float cancion4;
    private float cancion5;
    private float cancion6;
    private float cancion7;
    private String tituloCancion;

    public DiscoMusical (){
        cancion1 = (float) 5.41;
        cancion2 = (float) 3.53;
        cancion3 = (float) 3.59;
        cancion4 = (float) 4.37;
        cancion5 = (float) 3.39;
        cancion6 = (float) 4.36;
        cancion7 = (float) 0;
    }

    //Metodo para obtener la duracion de las canciones a traves del numero de la cancion dentro del disco
    public void setObtenerDuracion (float valorObtenerDuracion){

        obtenerDuracion = valorObtenerDuracion;

        if (obtenerDuracion == 1) { obtenerDuracion = cancion1; }
        else if (obtenerDuracion == 2){ obtenerDuracion = cancion2;}
        else if (obtenerDuracion == 3){ obtenerDuracion = cancion3;}
        else if (obtenerDuracion == 4){ obtenerDuracion = cancion4;}
        else if (obtenerDuracion == 5){ obtenerDuracion = cancion5;}
        else if (obtenerDuracion == 6){ obtenerDuracion = cancion6;}
        else if (obtenerDuracion == 7){ obtenerDuracion = cancion7;}
        else {obtenerDuracion = (float) 0;}
    }//cierre metodo

    //Metodo para solicitarle al administrador que introdusca cada una de las duracion de las canciones
    public void setIntroducirDuracion(float valorCancion1,float valorCancion2,float valorCancion3,float valorCancion4,float valorCancion5,float valorCancion6) {

        System.out.println("Buenas señor administrador por favor introduzca una por una la duracion de las canciones. ");
       
        cancion1 = valorCancion1;
        cancion2 = valorCancion2;
        cancion3 = valorCancion3;
        cancion4 = valorCancion4;
        cancion5 = valorCancion5;
        cancion6 = valorCancion6;

    }//cierre metodo

    //metodo para ingresar cancion nueva su titulo
    public void setAñadirTituloCancion (String valorTituloCancion){
        tituloCancion = valorTituloCancion;
    }//cierre metodo

    //metodo para ingresar cancion nueva su duracion
    public void setAñadirDuracionCancion (float valorDuracion){
        cancion7 = valorDuracion;
    }//cierre metodo

    //Metodo devuelve el valor de obtener la duracion de las canciones
    public float getObtenerDuracion (){ return obtenerDuracion; }//cierre metodo

    //metodo devuelve el valor de la cancion añadida titulo de la cancion
    public String getAñadirTituloCancion (){ return tituloCancion; }//cierre metodo

    //metodo devuelve el valor de la cancion añadida duracion de la cancion
    public float getAñadirDuracionCancion(){ return cancion7; }//cierre metodo

}//cierre de la clase
« Última modificación: 09 de Febrero 2015, 09:05 por Alex Rodríguez »

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Re:Entregable concepto de sigantura de metodos en java CU00630B
« Respuesta #1 en: 06 de Febrero 2015, 22:36 »
Hola Víctor

En primer lugar he de decirte que es encomiable el ímpetu con  que has emprendido el ejercicio.

Es un intento muy bueno. Sirve como práctica para descubrir cosas que de momento no funcionan, pero funcionarán en el futuro.

Transcribo aquí uno de los métodos que has enviado.

    public void setAñadirDuracionCancion (float valorDuracion){
        cancion7 = valorDuracion;
    }//cierre metodo

El método anterior tiene una signatura como todos los métodos. La signatura de éste es:

    public void setAñadirDuracionCancion (float valorDuracion)

Y nada más.

La palabra reservada 'public' especifica el alcance del método.

'void' es el retorno del método, significa vacío. Así pues este es un método de tipo procedimiento. Si devuelve otro tipo de dato, será un método de tipo función.

'setAñadirDuracionCancion' es el nombre del método

'valorDuracion' es el nombre del parámetro que se aporta al método, en este caso es de tipo float.


Así pues, para cada método solicitado, tienes que crear sus signaturas.

Nota: el método que llamas
public void setObtenerDuracion (float valorObtenerDuracion)

tiene una incongruencia
la particula set indica que se trata de un setter (establecer un valor para el atributo). Y en el nombre incluyes la palabra Obtener.
Estas juntando los conceptos establecer y obtener. Un método solo hará una cosa, o bien establecer o bien obtener.

Te sugiero que repases la lección, se explica muy bien el concepto de signatura de método.
En este ejercicio, no hay que practicar con código, sino aplicar la teoría para crear las signaturas.

Te adjunto un enlace a este ejercicio creado por otro usuario del foro. Espero que te sirva.
https://www.aprenderaprogramar.com/foros/index.php?topic=1059.msg6413#msg6413

Saludos

vgrisales

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 16
    • Ver Perfil
Re:Entregable concepto de sigantura de metodos en java CU00630B
« Respuesta #2 en: 07 de Febrero 2015, 03:31 »
Gracias por la respuesta me pondré a repasar ahora mismo. y agradecerles a todos por estar pendiente de nuestras inquietudes gracias.

 

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".