Autor Tema: Java dónde deben estar las funciones y procedimientos en el código CU00630B  (Leído 2769 veces)

oliverprada

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
    • Ver Perfil
Buenas tardes, Saludos a toda la comunidad y al equipo de admin por tan excelente trabajo, aqui les dejo la respuesta de la tematica CU00630B del curso de programación java en pdf y bueno, quisiera saber qué tal esta...!!!

Código: [Seleccionar]
public class DiscoMusical1 {


    public DiscoMusical1(){

        public float getDuracionCancion ( int valorNumeroCancion){
    }//Funcion

        public void setSaludoySolicitudDuracionCancion (){
    }//Procedimiento

        public float getDuracionTodasLasCanciones (){
    }//Funcion

        public void setNuevaCancion (String tituloNuevaCancion, float DuracionNuevaCancion ){
    }//Funcion

}

}
« Última modificación: 16 de Diciembre 2017, 12:43 por Alex Rodríguez »

LuisM

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 131
    • Ver Perfil
Re:Concepto de signatura de metodos en java, ejercicio CU00630B
« Respuesta #1 en: 13 de Octubre 2017, 17:07 »
Hola oliverprada, paso a indicarte algunos errores que encontré en tu código. Te aclaro que mis indicaciones son para que pueda ser compilado con el BlueJ que te recomiendo usar para ir probando tus respuestas.
1) Las fuciones y procedimientos están dentro del constructor. Deben estar aparte. En el constructor se inicializan los atributos de la clase. Probablemente fue un error de cierre con las llaves.
2) Un método get (función) lleva return con el valor devuelto y no se coloca código entre los paréntesis. (tu ejemplo 1)
3) Los métodos setters son procedimientos. Es incorrecta tu respuesta en tu ejemplo 4
El resto está bien.

Te pongo el código tuyo modificado:
Código: [Seleccionar]
public class DiscoMusical1 {
    public float duracionCancion;
    public float duracionDisco;

    public DiscoMusical1(){
        duracionCancion = 0;
        duracionDisco = 0;
    }
        public float getDuracionCancion (){
            return duracionCancion;
    }//Funcion

        public void setSaludoySolicitudDuracionCancion (){
    }//Procedimiento

        public float getDuracionTodasLasCanciones (){
            return duracionDisco;
    }//Funcion

        public void setNuevaCancion (String tituloNuevaCancion, float DuracionNuevaCancion ){
    }//Procedimiento

}
Saludos,
Luis

oliverprada

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
    • Ver Perfil
Re:Concepto de signatura de metodos en java, ejercicio CU00630B
« Respuesta #2 en: 13 de Octubre 2017, 17:34 »
Listo hermano muchas gracias, a mi si me extraño porque en el Bluej no me compilaba y me supuse que era porq solo había declarado los métodos sin desarrollarlos, pero en los siguientes ejercicios hice la correccion !!!
Código: [Seleccionar]
public class Medico{
    // instance variables - replace the example below with your own
    private String nombre ;
    private String apellido ;
    private int edad ;
    private boolean casado ;
    private String numeroDocumentoIdentidad ;
    private String especialidad ;

    /**
     * Constructor for objects of class Medico
     */
    public Medico(){
        // initialise instance variables
        nombre = "";
        apellido = "";
        edad = 0;
        casado = false;
        numeroDocumentoIdentidad = "";
        especialidad = "";

    }

    public void setNombre(String valorNombre){
        nombre = valorNombre;
        System.out.println("Ha cambiado el nombre del medico: "+apellido+" su nuevo nombre es: "+nombre);
    }

    public void setApellido(String valorApellido){
        apellido = valorApellido;
        System.out.println("Ha cambiado el apellido del medico: "+nombre+" su nuevo apellido es: "+apellido);
    }

    public void setEdad(int valorEdad){
        edad = valorEdad;
        System.out.println("Ha cambiado la edad del medico: "+apellido+" su nueva edad es: "+edad);
    }

    public void setCasado(boolean valorCasado){
        casado = valorCasado;
        System.out.println("Ha cambiado la condicion de casado del medico: "+apellido+" su condicion es: "+casado);
    }

    public void setNumeroDocumentoIdentidad(String valorNumeroDocumentoIdentidad){
        numeroDocumentoIdentidad = valorNumeroDocumentoIdentidad;
        System.out.println("Ha cambiado el numero de documento de identidad del medico: "+apellido+" su numero nuevo es: "+numeroDocumentoIdentidad);
    }

    public void setEspecialidad(String valorEspecialidad){
        especialidad = valorEspecialidad;
        System.out.println("Ha cambiado la especialidad del medico: "+apellido+" su nueva especialidad es: "+especialidad);
    }

    public String getNombre() {return nombre;}

    public String getApellido() {return apellido;}

    public int getEdad() {return edad;}

    public boolean getCasado() {return casado;}

    public String getNumeroDocumentoIdentidad() {return numeroDocumentoIdentidad;}

    public String getEspecialidad() {return especialidad;}

}

oliverprada

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
    • Ver Perfil
Re:Concepto de signatura de metodos en java, ejercicio CU00630B
« Respuesta #3 en: 13 de Octubre 2017, 17:48 »
Una cositilla que aun no comprendo es por que en el ultimo procedimiento ->
Código: [Seleccionar]
public void setNuevaCancion (String tituloNuevaCancion, float DuracionNuevaCancion ){
    }//Procedimiento
se le pasan al set los parametros tituloNueva... y Duracion nueva... y al inicio del constructor estas variables no estan declaradas ??????::)

LuisM

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 131
    • Ver Perfil
Re:Concepto de signatura de metodos en java, ejercicio CU00630B
« Respuesta #4 en: 13 de Octubre 2017, 19:35 »
Hola oliverprada, No son variables o atributos de la clase, son parámetros de un procedimiento. Los atributos de la clase deben ser inicializados en el constructor. Los parametros, no.
El código que pego a continuación lo genera el BlueJ cuando creas una clase nueva. Fijate que "y" es un parámetro de un método y no es inicializado, pero "x" es un atributo o variable de la clase y se inicializa en el contructor.
Un saludo,
Luis
PD: el código que pusiste en tu respuesta si es a modo de ejemplo, vale. Si es respuesta de otro ejercicio, copialo en un  posteo nuevo con el asunto correspondiente.
Código: [Seleccionar]
/**
 * Write a description of class Prueba here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class Prueba
{
    // instance variables - replace the example below with your own
    private int x;

    /**
     * Constructor for objects of class Prueba
     */
    public Prueba()
    {
        // initialise instance variables
        x = 0;
    }

    /**
     * An example of a method - replace this comment with your own
     *
     * @param  y  a sample parameter for a method
     * @return    the sum of x and y
     */
    public int sampleMethod(int y)
    {
        // put your code here
        return x + y;
    }
}

 

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