Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: mzamora60 en 27 de Abril 2015, 00:12
-
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:
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:
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.
-
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? :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:
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 ejemplo
Quiero 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! :D
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!!
-
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 ;)