Autor Tema: Concepto de signatura de métodos en Java. Primera definición interface CU00630B  (Leído 5168 veces)

r2montero

  • Sin experiencia
  • *
  • Mensajes: 40
    • Ver Perfil
Hola! Ayuda con la Revision por favor

Código: [Seleccionar]
// Signatura de métodos

public class DiscoMusical {
 
  //metodo para obtener la duracion de una cancion
  public String getDuracion(int trackNumber) {
   
  } // Fin de getDuracion
 
  //metodo para obtener la duracion total del disco
  public String getDuracionTotal(int trackTime, int totalTracks) {
   
  } // Fin de getDuracionTotal
 
  //metodo para introducir duracion de las canciones
  public String setDuracion (int trackNumber, int trackTime) {
   
  }// Fin de setDuracion
 
  //metodo para añadir cancion al final del disco
  public String anadirCancion (int trackTime, int totalTracks, int trackNumber, String trackTitle) {
 
  }// Fin de anadirCancion

}//Fin de DiscoMusical
« Última modificación: 24 de Agosto 2015, 19:20 por César Krall »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Hola r2montero cuando pegues el código de un ejercicio de un curso indica siempre el código del ejercicio, por ejemplo CU00688B o el que sea, de esa forma es como podemos saber a qué te refieres, ya que hay cientos de ejercicios en la web

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

r2montero

  • Sin experiencia
  • *
  • Mensajes: 40
    • Ver Perfil
Muchas gracias Cesar, se trata de la entrega de CU00630B.

Lo que pasa fue que a la hora de pegar el titulo no me di cuenta que se cortó.

Saludos!

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
De acuerdo! Ya he editado el título.

En tus respuestas hay varias cosas a corregir.

La duración de la canción en el ejercicio se dice que es expresada como un número decimal en minutos

Tú has indicado public String getDuracion

Pero si es un valor numérico no debe ser un String (un texto), sino un tipo de dato numérico.

Has planteado mal el definir que todos los métodos devuelvan un String, tienes que fijarte en qué ha de hacer y qué ha de devolver cada método para plantear su signatura.

Es conveniente que repitas el ejercicio. Puedes tratar de orientarte usando este tema del foro https://www.aprenderaprogramar.com/foros/index.php?topic=956 para después plantear tu propia respuesta.

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

r2montero

  • Sin experiencia
  • *
  • Mensajes: 40
    • Ver Perfil
Gracias por la retroalimentación,

Acá va mi segundo intento:

Código: [Seleccionar]
// Signatura de métodos

public class DiscoMusical {
 
  //método para obtener la duración de una canción (Función)
  public int getDuracion(int trackNumber) {
   
  } // Fin de getDuracion
 
  //método para obtener la duración total del disco (Función)
  public float getDuracionTotal(float trackTime, int totalTracks) {
   
  } // Fin de getDuracionTotal
 
  //método para introducir duración de las canciones (Procedimiento)
  public void setDuracion (int trackNumber, int trackTime) {
   
  }// Fin de setDuracion
 
  //metodo para añadir canción al final del disco* (Procedimiento)
  public void anadirCancion (float trackTime, int totalTracks, int trackNumber, String trackTitle) {
 
  }// Fin de anadirCancion

}//Fin de DiscoMusical

*Pregunta respecto al último método (anadirCancion) ¿Se le puede pasar un parámetro con argumentos de varios tipos al método? Tal y como lo hice en el ejercicio.

Saludos!

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Hola!

La duración de la canción en el ejercicio se dice que es expresada como un número decimal en minutos

public int getDuracion(int trackNumber) devuelve un número entero, no podríamos recuperar el decimal, luego no está bien


El ejercicio dice que las duraciones de las canciones se almacenarán como información del objeto, por tanto para obtener la duración total no hace falta pasar parámetros porque esa información ya existe

public float getDuracionTotal(float trackTime, int totalTracks) {

no está bien. Si la información ya está en el objeto, ¿para qué pasarle parámetros?



public void setDuracion (int trackNumber, int trackTime) { no está bien. Con esta definición se le está pasando al método un número de canción y una duración de canción. ¿Y las demás canciones? El ejercicio dice que el método se encargará de pedir la duración de todas las canciones. Y esas duraciones se encuentran almacenadas en el objeto. Quizás estén establecidas a cero y por eso se quieran establecer con valores correctos. O quizás tengan errores y por eso se quieran restablecer.

 public void anadirCancion (float trackTime, int totalTracks, int trackNumber, String trackTitle) { sería posible (es decir, se puede definir que el método tenga varios parámetros de distintos tipos) pero en este caso no es correcto. El ejercicio indica que el método únicamente debe recibir como información el título de la canción y su duración (2 parámetros). Sin embargo aquí recibe 4 parámetros. ¿Para qué 4 parámetros si solo son necesarios dos parámetros?

Ver esta solución: www.aprenderaprogramar.com/foros/index.php?topic=956

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

 

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