Autor Tema: Ejercicio CU00630B tutorial java desde cero  (Leído 6532 veces)

jaivcaba

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 42
    • Ver Perfil
Ejercicio CU00630B tutorial java desde cero
« en: 21 de Julio 2014, 05:07 »
Adjunto Mi codigo.. Agradezco de antemano cualquier comentario ya que no estoy seguro si esta bien.
Por ejemplo no entiendo muy bien el 2do y 4to punto. Es decir la parte de como como agregar mas canciones, pedir los tiempos una por una  y hacer que se sumen los tiempos.

GRACIAS



Código: [Seleccionar]
/* Ejercicio CU00630B

Considera estás desarrollando un programa Java donde necesitas trabajar con objetos de tipo DiscoMusical.
Define las signaturas para métodos dentro dicha clase e indica si deberán ser procedimientos o funciones
para los siguientes objetivos planteados:

1) Obtener la duración de una canción expresada como un número decimal en minutos
(por ejemplo podría ser 3,22 minutos) recibiendo como dato el número de canción dentro del disco.(funcion)

2) Pedir a un administrador de una compañía discográfica que introduzca la duración de todas las canciones
(dichas duraciones se almacenarán como información del objeto). Es decir, el método se encargará de saludar al usuario
 y pedirle que vaya introduciendo una por una la duración de las canciones.(metodo)

3) Obtener la duración del disco completo (suma de las duraciones de cada una de las canciones).(funcion)

4) Añadir una canción al disco recibiendo como información para ello el título de la canción y su duración
(se añadirá como última canción en el disco. Si el disco tenía por ejemplo 10 canciones, al añadirse una
canción pasará a tener 11) (metodo)  */

// Atributos
public class DiscoMusical {
    float DuracionCancion;
    int NumeroCancion;
    float HolaIntroduceDuracionDeCancion;
    float DuracionDiscoCompleto;
    String TituloCancionNueva;
    float DuracionCancionNueva;
// Contructor
public DiscoMusical (){
    DuracionCancion = 0.00f;
    NumeroCancion = 0;
    HolaIntroduceDuracionDeCancion = 0.00f;
    DuracionDiscoCompleto = 0.00f;
    TituloCancionNueva = "Desconocido";
    DuracionCancionNueva = 0.00f;
}//Cierre Constructor
// 1)
public float getDuracionCancion (int ValorNumeroCancion){
        return DuracionCancion;
}
//2
public void HolaIntroduceDuracionDeCancion (float ValorHolaIntroduceDuracionDeCancion){
    DuracionCancion = ValorHolaIntroduceDuracionDeCancion;
}
//3
public float getDuracionDiscoCompleto (){
    return DuracionDiscoCompleto;
}
// 4
public void setTituloCancionNueva (String ValorTituloCancionNueva){
    TituloCancionNueva = ValorTituloCancionNueva;
}
public void setDuracionCancionNueva (float ValorDuracionCancionNueva){
    DuracionCancionNueva = ValorDuracionCancionNueva;
}
}
« Última modificación: 31 de Agosto 2014, 10:51 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:Ejercicio CU00630B
« Respuesta #1 en: 21 de Julio 2014, 17:36 »
Hola, el código no está bien planteado. Te recomiendo que vuelvas a leer las entregas del curso anteriores.

En una clase se almacena información en sus campos o atributos, y por otro lado se realizan operaciones con sus métodos. Tú estás mezclando indebidamente ambos conceptos, por ejemplo float HolaIntroduceDuracionDeCancion; estás diciendo que la clase almacena un número decimal que se llama HolaIntroduceDuracionDeCancion, pero esto no es información, esto será una operación que realice la clase, por lo tanto no debe ir declarada como atributo sino como método.

Por otro lado el ejercicio no te pide que generes el código de los métodos, sino tan solo la signatura e indicar si son procedimientos o funciones.

Revisa el concepto de signatura y revisa los conceptos previos.

Saludos.


jaivcaba

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 42
    • Ver Perfil
Ejercicio CU00630B
« Respuesta #2 en: 17 de Agosto 2014, 07:23 »
Ejercicio CU00630B

Considera estás desarrollando un programa Java donde necesitas trabajar con objetos de tipo DiscoMusical.
Define las signaturas para métodos dentro dicha clase e indica si deberán ser procedimientos o funciones
para los siguientes objetivos planteados:

1) Obtener la duración de una canción expresada como un número decimal en minutos
(por ejemplo podría ser 3,22 minutos) recibiendo como dato el número de canción dentro del disco. :)(funcion) :)

2) Pedir a un administrador de una compañía discográfica que introduzca la duración de todas las canciones (dichas duraciones se almacenarán como información del objeto). Es decir, el método se encargará de saludar al usuario y pedirle que vaya introduciendo una por una la duración de las canciones. :)(metodo) :)

3) Obtener la duración del disco completo (suma de las duraciones de cada una de las canciones). :)(funcion) :)

4) Añadir una canción al disco recibiendo como información para ello el título de la canción y su duración (se añadirá como última canción en el disco. Si el disco tenía por ejemplo 10 canciones, al añadirse una canción pasará a tener 11)  :) (metodo)  :)

Mastermind

  • Experto
  • *****
  • Mensajes: 536
    • Ver Perfil
Re:Ejercicio CU00630B
« Respuesta #3 en: 17 de Agosto 2014, 12:41 »
Hola, no sé si has pensado que se pedía otra cosa pero no veo que hayas respondido al ejercicio. El ejercicio no te pide que digas si se trata de métodos o funciones, sino que definas las signaturas.

Vuelve a leer el texto de la entrega, ahí verás como ejemplo de signatura:
float calcularCapacidadDeposito (float valorDiametro, float valorAltura)

Eso es lo que pide el ejercicio, definir el encabezado de los métodos, pero eso no veo que lo hayas hecho

Saludos

jaivcaba

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 42
    • Ver Perfil
Re:Ejercicio CU00630B
« Respuesta #4 en: 17 de Agosto 2014, 19:31 »
Gracias por tomarte tiempo para responer; aqui va de nuevo la solución. Aunque con algunas preguntas. Disculpas si pueden llegar a ser muy obvias.


1)   Obtener la duración de una canción expresada como un número decimal en minutos
(por ejemplo podría ser 3,22 minutos) recibiendo como dato el número de canción dentro del disco. (funcion)

Public float DuracionCancion ( int NumeroCancion)

2)   Pedir a un administrador de una compañía discográfica que introduzca la duración de todas las canciones (dichas duraciones se almacenarán como información del objeto). Es decir, el método se encargará de saludar al usuario y pedirle que vaya introduciendo una por una la duración de las canciones. (metodo)
Public void HolaIntroduceDuracionCanciones (float Cancion1, float Cancion2 …)
3)   Obtener la duración del disco completo (suma de las duraciones de cada una de las canciones). (funcion)
Public float DuracionDiscoCompleto ()
---------------------------------------------------------------------------------------------------------
¿Es válido float DuracionDiscoCompleto (Float Cancion1 + float Cancion2…?, ok creo que no, creo que la operación le corresponde al código del método.
Mi pregunta es si sería Algo así como:
DuracionDiscoCompleto = Cancion1 + Cancion2 …..
Si no.  Como hago para que se sumen las duraciones de las canciones.
---------------------------------------------------------------------------------------------------------

4)   Añadir una canción al disco recibiendo como información para ello el título de la canción y su duración (se añadirá como última canción en el disco. Si el disco tenía por ejemplo 10 canciones, al añadirse una canción pasará a tener 11)   (metodo)
 
Public void AñadirCancion ( String TituloCancion, float DuracionCancion)

¿hablando en términos de programación a que se refiere (se añadirá como ultima canción en el disco)? Que debo hacer para que se cumpla esa condición?

Mastermind

  • Experto
  • *****
  • Mensajes: 536
    • Ver Perfil
Re:Ejercicio CU00630B
« Respuesta #5 en: 17 de Agosto 2014, 20:01 »
Public float DuracionCancion ( int NumeroCancion) es correcto pero public debe ir en minúsculas.

Public void HolaIntroduceDuracionCanciones (float Cancion1, float Cancion2 …)

No está bien, el método se encargará de pedir al usuario la duración de las canciones, por tanto no tiene por qué recibir estos datos como parámetros. Quedaría así:

public void holaIntroduceDuracionCanciones ()

Los nombres de métodos empiezan normalmente con minúsculas.

Public float DuracionDiscoCompleto () es correcto (public en minúsculas)

¿Es válido float DuracionDiscoCompleto (Float Cancion1 + float Cancion2…? No, la duración de las canciones será información de que disponga el objeto, por tanto si ya dispone de esa información no hay que pasársela como parámetros.

DuracionDiscoCompleto = Cancion1 + Cancion2 …. , a grosso modo sería algo así, pero lo irás comprendiendo a medida que avances con el curso.

Public void AñadirCancion ( String TituloCancion, float DuracionCancion) es correcto

¿hablando en términos de programación a que se refiere (se añadirá como ultima canción en el disco)? Que debo hacer para que se cumpla esa condición?

Esto se refiere a que si el disco contiene 3 canciones, la que tú añadas será la cuarta. Cada canción tendrá un índice (1, 2, 3, 4 ó 0, 1, 2, 3) y la última añadida será el último índice.

Trata de avanzar con el curso para poder ir comprendiendo mejor todo esto.

Saludos

jaivcaba

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 42
    • Ver Perfil
Re:Ejercicio CU00630B
« Respuesta #6 en: 17 de Agosto 2014, 20:10 »
Mil veces agradecido nuevamente.
He entendido y seguiré avanzando en el curso.

 

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