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

[Proyecto] Proyecto final

package com.aluracursos.radioalura2025.principal;

import com.aluracursos.radioalura2025.modelos.Cancion; import com.aluracursos.radioalura2025.modelos.MisFavoritos; import com.aluracursos.radioalura2025.modelos.Podcast;

public class Principal { public static void main(String[] args) { Cancion miCancion = new Cancion(); miCancion.setTitulo("Forever"); miCancion.setCantante("Kiss");

    Podcast miPostcast = new Podcast();
    miPostcast.setPresentador("Gabriela Aguilar");
    miPostcast.setTitulo("Cafe.Tech");
    //Cancion
    for (int i = 0; i < 100; i++) {
        miCancion.meGusta();
    }
    for (int i = 0; i < 2000; i++) {
        miCancion.reproduce();
    }
    //Postcast
    for (int i = 0; i < 100; i++) {
        miPostcast.meGusta();
    }
    for (int i = 0; i < 8000; i++) {
        miPostcast.reproduce();
    }
    System.out.println("Total de reproducciones: "+miCancion.getTotalDeReproducciones());
    System.out.println("Total de me Gusta: " + miCancion.getTotalDeMeGusta());

    MisFavoritos favoritos = new MisFavoritos();
    favoritos.adiciona(miPostcast);
    favoritos.adiciona(miCancion);
}

}

package com.aluracursos.radioalura2025.modelos;

public class Podcast extends Audio{ private String presentador; private String descripcion;

@Override
public int getClasificacion() {
    if(getTotalDeReproducciones()>=2000){
        return 9;
    } else {
        return 2;
    }
}

public String getPresentador() {
    return presentador;
}
public void setPresentador(String presentador) {
    this.presentador = presentador;
}

public String getDescripcion() {
    return descripcion;
}
public void setDescripcion(String descripcion) {
    this.descripcion = descripcion;
}

}

package com.aluracursos.radioalura2025.modelos;

public class MisFavoritos { public void adiciona(Audio audio){ if (audio.getClasificacion()>=8) { System.out.println(audio.getTitulo() + "Es uno de los favoritos del momento"); } else{ System.out.println(audio.getTitulo() + "Tambien es uno de los favoritos"); } } }

package com.aluracursos.radioalura2025.modelos;

public class Cancion extends Audio{ private String album; private String cantante; private String genero;

@Override
public int getClasificacion() {
    if(getTotalDeMeGusta()>5000){
        return 8;
    } else {
        return 4;
    }
}

public String getAlbum() {
    return album;
}
public void setAlbum(String album) {
    this.album = album;
}

public String getCantante() {
    return cantante;
}
public void setCantante(String cantante) {
    this.cantante = cantante;
}

public String getGenero() {
    return genero;
}
public void setGenero(String genero) {
    this.genero = genero;
}

}

package com.aluracursos.radioalura2025.modelos;

public class Audio { //Atributos private String titulo; private int totalDeReproducciones; private int totalDeMeGusta; private int clasificacion;

//Metodos-Funcionalidades
public void meGusta(){
    this.totalDeMeGusta++;
}

public void reproduce(){
    this.totalDeReproducciones++;
}

public String getTitulo() {
    return titulo;
}
public void setTitulo(String titulo) {
    this.titulo = titulo;
}

public int getTotalDeReproducciones() {
    return totalDeReproducciones;
}
public void setTotalDeReproducciones(int totalDeReproducciones) {
    this.totalDeReproducciones = totalDeReproducciones;
}

public int getTotalDeMeGusta() {
    return totalDeMeGusta;
}
public void setTotalDeMeGusta(int totalDeMeGusta) {
    this.totalDeMeGusta = totalDeMeGusta;
}

public int getClasificacion() {
    return clasificacion;
}
public void setClasificacion(int clasificacion) {
    this.clasificacion = clasificacion;
}

}

Total de reproducciones: 2000 Total de me Gusta: 100 Cafe.TechEs uno de los favoritos del momento ForeverTambien es uno de los favoritos

1 respuesta

¡Hola Wilder, espero que estés bien!

Gracias por compartir tu código. Parece que estás trabajando en un proyecto que involucra la gestión de canciones y podcasts, y estás utilizando la orientación a objetos en Java para lograrlo. Vamos a revisar lo que has hecho y ver si hay algo que necesita ajustes.

  1. Clasificación de Canciones y Podcasts:

    • En tu clase Cancion, la clasificación se basa en el número de "me gusta". Actualmente, si una canción tiene más de 5000 "me gusta", se clasifica como 8, de lo contrario, se clasifica como 4.
    • En la clase Podcast, la clasificación depende del número de reproducciones. Si hay más de 2000 reproducciones, la clasificación es 9, de lo contrario, es 2.
  2. Salida del Programa:

    • Según el código que has compartido, al ejecutar el programa, obtienes las siguientes salidas:
      • Total de reproducciones: 2000
      • Total de "me gusta": 100
      • "Cafe.Tech" es uno de los favoritos del momento
      • "Forever" también es uno de los favoritos

El comportamiento que observas parece correcto según la lógica que has implementado. Aquí hay algunas consideraciones:

  • Clasificación de Favoritos: La lógica en MisFavoritos imprime diferentes mensajes dependiendo de la clasificación. Dado que "Cafe.Tech" tiene una clasificación de 9 (más de 2000 reproducciones), se imprime como "uno de los favoritos del momento". En cambio, "Forever" tiene una clasificación de 4 (menos de 5000 "me gusta"), por lo que se imprime como "también es uno de los favoritos".

  • Posibles Mejoras: Si deseas cambiar la lógica de clasificación o los mensajes, puedes ajustar las condiciones en los métodos getClasificacion() de Cancion y Podcast, o modificar los mensajes en MisFavoritos.

Si estás buscando ajustar algo específico o si hay un comportamiento inesperado, por favor házmelo saber para que pueda ayudarte mejor.

Espero haber ayudado y buenos estudios!