Autor Tema: Ejercico CU00630B del tutorial Java signaturas de métodos  (Leído 3040 veces)

mzamora60

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 17
    • Ver Perfil
buena tarde. estoy en la practica 30 en donde se me pide hacer un desarrollo donde un usuario introduzca "n" numero de duración de canciones pero al momento de querer asignar los métodos a un objeto que cree en otra clase me devuelve que necesito un int. duda 2), si al momento en que el usuario tenga que introducir el numero de duracion uno tendria que meter una instruccion como System.out.println(" buen dia. Por favor Introduzca el no. de duracion 1:"); . Primero cree un proyecto nuevo llamado ProyectoMusical y posterior otra clase DuracionDeCanciones donde genero el objecto. Los codigos en cada clase se muestran a continuación:

Código: [Seleccionar]
package proyectomusical;

public class ProyectoMusical {

    private int duracion = 0;
    private int numerocancion = 0;
   

public ProyectoMusical(){   
   
    duracion = 0;
    numerocancion = 0;
}
public void setDuracion(int valorDuracion){
    duracion =  valorDuracion;
}
public void setNumeroCancion(int valorNumeroCancion){
    numerocancion = valorNumeroCancion;
}

public int getDuracion(){
 return duracion;}
   
public int getNumeroCancion()
{ return numerocancion;}

}

(Nota: los sets se metieron para que se conserven los numeros de duracion de las canciones en el objeto si bien entendi y posterior los gets para retornar la información)
y el codigo de la clase DuracionDeCanciones es el siguiente:

Código: [Seleccionar]
package proyectomusical;

public class DuracionDeCanciones {
   public static void main(String[] args){
   
     ProyectoMusical ObtenerDuracion = new ProyectoMusical ();
     ObtenerDuracion.setDuracion(valorDuracion); /[b]/[u] es aquí donde no se porque me pide un int[/b][/u]
     ObtenerDuracion.getDuracion();
     
     ProyectoMusical Cancion1 = new ProyectoMusical();
     Cancion1.getNumeroCancion();
     
     
  }
   
}

Gracias y espero sus comentarios.
« Última modificación: 05 de Mayo 2015, 11:22 por Alex Rodríguez »

Dan_SB

  • Avanzado
  • ****
  • Mensajes: 273
  • *<DanielsCK>*
    • Ver Perfil
Re:Ejercico CU00630B del tutorial Java signaturas de métodos
« Respuesta #1 en: 27 de Abril 2015, 04:58 »
Hola mzamora60!

Mira, al parecer tienes una especie de confusión... miremos estas lineas:

Citar
public static void main(String[] args){
   
     ProyectoMusical ObtenerDuracion = new ProyectoMusical ();
     ObtenerDuracion.setDuracion(valorDuracion); // es aquí donde no se porque me pide un int[/u]
     ObtenerDuracion.getDuracion();
     
     ProyectoMusical Cancion1 = new ProyectoMusical();
     Cancion1.getNumeroCancion();
     
     
  }

1.Creaste un objeto ProyectoMusical llamado ObtenerDuracion. "ObtenerDuracion" tan solo es un nombre al objeto, no un llamado de método (Te escribo esto por si acaso! )

2. Esta parte del código:

Citar
ObtenerDuracion.setDuracion(valorDuracion);

Cuando escribiste esta parte del código:
Citar
public void setDuracion(int valorDuracion){
    duracion =  valorDuracion;
}

¿Ves esa parte que esta dentro del paréntesis?. . . int valorDuracion, eso se llama parámetros.

¿Que es esa cosa?  :o

Son las variables que necesita el método para poder funcionar, en este caso se pedía la duración de la canción cada vez que la vas a llamar. La variable dentro del método esta definida como int, es por eso que te pide el int, porque para poder arrancar, necesita dicho dato. Los tipos de datos en los parámetros se definirán depende del problema que estas desarrollando:

Ejemplo:

Quiero un método que cargue nombre de personas:
Citar
public void setNombre(String dato){
nombre = dato;
}

Quiero un método que cargue la edad:
Citar
public void setEdad(int dato){
edad = dato;
}

Quiero un método que cargue decimales:
Citar
public void setDecimal(double dato){
numero = dato;
}

Hasta operaciones con complejidad... por ejemplo

Quiero una funcion que me diga si soy feo o lindo: ::)
Citar
public String FeoOLindo(int numero){
        numw = numero;
        int num = new Random().nextInt(10);
        if(numw == numero) return "Eres lindo.";
        else return "Eres feo.";     
    }
}

Un método bastante estúpido a simple vista, pero un poco complejo a la vez ¿verdad?

Todos requerirán del dato que el parámetro pida para poder funcionar!  :D

Citar
si al momento en que el usuario tenga que introducir el numero de duracion uno tendria que meter una instruccion como System.out.println(" buen dia. Por favor Introduzca el no. de duracion 1:");

Si, hacerlo dinámico con el usuario! lo mayor posible y claro!
Saludos!!
"Luchar por tus sueños y cumplirlos... eso es vivir.."

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:Ejercico CU00630B del tutorial Java signaturas de métodos
« Respuesta #2 en: 28 de Abril 2015, 09:26 »
Hola mzamora, para una mejor organización de los foros

- Lee por favor https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 donde se explica cómo pegar código y cómo poner título a los temas

- Cada hilo (tema) del foro debe tratar sobre un asunto, por ejemplo "ejercicio CU00624B". Cuando se quiera pasar a otro asunto debe abrirse un nuevo tema. De esta forma mantenemos una mejor organización.

En este caso como se pasa de CU00624B a CU00630B voy a dividir el tema en dos temas, uno para CU00624B y otro para CU00630B

Gracias a todos por la colaboración  ;)

 

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