Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: MarckyMarck en 02 de Septiembre 2015, 01:01

Título: Una función no puede tener retorno void Ejercicio CU00630B Java desde cero
Publicado por: MarckyMarck en 02 de Septiembre 2015, 01:01
Hola, este es mi ejercicio CU00630B:

    public void DuracionCancion (int numeroCancion)/*función*/
    public void setDuracionCancion (float valorDuracionCancion)/*procedimiento*/
    public float getDuracionDisco ()/*función*/
    public void addCancion (String valorTitulo, float duracion)/*procedimiento*/

De antemano gracias por sus observaciones :)
Título: Re:Ejercicio CU00630B Java desde cero
Publicado por: Lorenzo31 en 02 de Septiembre 2015, 11:42
Buenas Marck,

Pequeñas deficiencias,

En la 1, dices que es una función, sin embargo retornas un void (vacío), si es una función que nos retorna?

El resto todo correcto :)

Un saludo.
Título: Re:Una función no puede tener retorno void Ejercicio CU00630B Java desde cero
Publicado por: MarckyMarck en 04 de Septiembre 2015, 00:28
Entonces debe quedar así? Con float porque float es el tipo de datos que voy a recibir, cierto?

public float DuracionCancion (int numeroCancion)/*función*/

Una duda. Por qué cuando se busca obtener un dato sin ingresar ningún dato al programa escribimos"public float getDuracionDisco ()"

y cuando vamos a ingresar un dato ponemos "public void DuracionCancion (int numeroCancion)"?

Gracias y saludos! :)
Título: Re:Una función no puede tener retorno void Ejercicio CU00630B Java desde cero
Publicado por: MarckyMarck en 04 de Septiembre 2015, 00:41


Creo que ya lo entendí. El primer dato en la signatura (ignorando el "public") es el tipo de datos que nos va a retornar el método, ¿cierto?. Escribimos void cuando sólo es tipo procedimiento, ya que no nos va a retornar ningún valor.

En el caso de este ejercicio:

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.

Como lo realicé, es un método que sería función y procedimiento a la vez, pero según lo que he leído en este foro se recomendaría en este caso hacer un método para obtener la duración de la canción, y otro método para ingresar el número de canción. ¿Estoy en lo correcto? Muchas gracias!
Título: Re:Una función no puede tener retorno void Ejercicio CU00630B Java desde cero
Publicado por: Alex Rodríguez en 05 de Septiembre 2015, 14:02
Hola MarckyMarck supón este ejemplo

public float dimeDuracionCancion ( int valorNumeroCancion )

Es una función ya que se indica que el tipo devuelto es float. Si en vez de un tipo se indica void es un procedimiento.

El nombre de la función en este caso es dimeDuracionCancion

La función requiere recibir como dato un número entero (int) al que se ha denominado valorNumeroCancion.

En resumen, se trata de una función que recibe el número de la canción y devolverá un valor decimal (un float) que es la duración de la canción.

Mira https://www.aprenderaprogramar.com/foros/index.php?topic=956 para aclarar las ideas

Saludos