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=956Saludos!