Hola mzamora60!
Mira, al parecer tienes una especie de confusión... miremos estas lineas:
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:
ObtenerDuracion.setDuracion(valorDuracion);
Cuando escribiste esta parte del código:
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? 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:public void setNombre(String dato){
nombre = dato;
}
Quiero un método que cargue la edad:public void setEdad(int dato){
edad = dato;
}
Quiero un método que cargue decimales:public void setDecimal(double dato){
numero = dato;
}
Hasta operaciones con complejidad... por ejemploQuiero una funcion que me diga si soy feo o lindo: 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!
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!!