Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Hagamos lo que hicimos en el Aula

public class Main { public static void main(String[] args) {

    //instancia
    Main miPelicula = new Main();
    miPelicula.nombre = "Akira";
    miPelicula.duracionEnMinutos = 95;
    miPelicula.fechaDeLanzamiento = 2000;
    miPelicula.incluidoEnPlan = false;
    
    miPelicula.mostrarFichaTecnica();

    //haciendo evaluaciones
    miPelicula.evalua(8.5);
    miPelicula.evalua(9.5);
    miPelicula.evalua(10);
    System.out.println("evaluacion:" + miPelicula.sumaEvaluacion);
    System.out.println("evaluacion promedio:" + miPelicula.calculaMedia());


    System.out.println("****"); //separador

    //otra instancia
    Main otraPelicula = new Main();
    otraPelicula.nombre = "Matrix 2";
    otraPelicula.duracionEnMinutos = 120;
    otraPelicula.fechaDeLanzamiento = 1999;
    otraPelicula.incluidoEnPlan = true;

    otraPelicula.mostrarFichaTecnica();
    miPelicula.evalua(10);
    miPelicula.evalua(9.7);
}

}

otra clase

public class Peliculas { String nombre;

int fechaDeLanzamiento;

int duracionEnMinutos;

boolean incluidoEnPlan;

double sumaEvaluacion;

int totalEvaluaciones;

void mostrarFichaTecnica(){
    System.out.println("El nombre de la pelicula es:" + nombre);
    System.out.println("Lanzada en:" + fechaDeLanzamiento);
    System.out.println("Duración:" + duracionEnMinutos);
    System.out.println("Incluida en el plan:" + incluidoEnPlan);
            
}

void evalua(double nota){
    //sumaEvaluacion = sumaEvaluacion + nota;   //forma valida tambien
    sumaEvaluacion += nota;

    totalEvaluaciones++;
}

double calculaMedia(){
    return sumaEvaluacion / totalEvaluaciones;
}

}

1 respuesta

¡Hola Galileo, espero que estés bien!

Parece que has hecho un gran trabajo al intentar implementar la orientación a objetos en tu proyecto. Sin embargo, hay un pequeño detalle que podrías ajustar para que tu código funcione correctamente. En tu clase Main, estás creando instancias de Main en lugar de Peliculas. Deberías crear instancias de la clase Peliculas para poder utilizar los métodos y atributos definidos en ella.

Aquí tienes un ejemplo de cómo podrías modificar tu código:

public class Main {
    public static void main(String[] args) {

        //instancia de Peliculas
        Peliculas miPelicula = new Peliculas();
        miPelicula.nombre = "Akira";
        miPelicula.duracionEnMinutos = 95;
        miPelicula.fechaDeLanzamiento = 2000;
        miPelicula.incluidoEnPlan = false;
        
        miPelicula.mostrarFichaTecnica();

        //haciendo evaluaciones
        miPelicula.evalua(8.5);
        miPelicula.evalua(9.5);
        miPelicula.evalua(10);
        System.out.println("evaluacion:" + miPelicula.sumaEvaluacion);
        System.out.println("evaluacion promedio:" + miPelicula.calculaMedia());

        System.out.println("****"); //separador

        //otra instancia de Peliculas
        Peliculas otraPelicula = new Peliculas();
        otraPelicula.nombre = "Matrix 2";
        otraPelicula.duracionEnMinutos = 120;
        otraPelicula.fechaDeLanzamiento = 1999;
        otraPelicula.incluidoEnPlan = true;

        otraPelicula.mostrarFichaTecnica();
        otraPelicula.evalua(10);
        otraPelicula.evalua(9.7);
    }
}

Con este cambio, deberías poder crear objetos de la clase Peliculas y utilizar sus métodos y atributos correctamente. Espero que esto te ayude a avanzar en tu proyecto.

¡Espero haber ayudado y buenos estudios!