//Main
import java.util.ArrayList;
import java.util.Scanner;
public class AppTodoJuegos {
private static ArrayList<Videojuego> videojuegos = new ArrayList<>();
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("\nMenú Principal:");
System.out.println("1. Agregar nuevo videojuego");
System.out.println("2. Mostrar videojuegos");
System.out.println("3. Clasificar videojuegos por promedio de valoraciones");
System.out.println("4. Salir");
System.out.print("Seleccione una opción: ");
int opcion = scanner.nextInt();
scanner.nextLine(); // Limpiar entrada
switch (opcion) {
case 1:
agregarVideojuego(scanner);
break;
case 2:
mostrarVideojuegos();
break;
case 3:
clasificarPorValoraciones();
break;
case 4:
System.out.println("¡Hasta luego!");
return;
default:
System.out.println("Opción inválida. Intente nuevamente.");
}
}
}
private static void agregarVideojuego(Scanner scanner) {
System.out.print("Ingrese el nombre del videojuego: ");
String nombre = scanner.nextLine();
System.out.print("Ingrese la descripción del videojuego: ");
String descripcion = scanner.nextLine();
System.out.print("Ingrese la fecha de lanzamiento: ");
int fechaLanzamiento = Integer.parseInt(scanner.nextLine());
System.out.print("Ingrese la consola: ");
String consola = scanner.nextLine();
System.out.print("Ingrese la categoría: ");
String categoria = scanner.nextLine();
System.out.print("Califica el juego: ");
int valoraciones = Integer.parseInt(scanner.nextLine());
Videojuego nuevoJuego = new Videojuego(nombre, descripcion, valoraciones, consola, categoria);
videojuegos.add(nuevoJuego);
System.out.println("¡Videojuego agregado exitosamente!");
}
private static void mostrarVideojuegos() {
if (videojuegos.isEmpty()) {
System.out.println("No hay videojuegos registrados.");
} else {
for (Videojuego juego : videojuegos) {
System.out.println(juego);
System.out.println("--------------------");
}
}
}
private static void clasificarPorValoraciones() {
videojuegos.sort((v1, v2) -> Double.compare(v2.obtenerPromedioValoracion(), v1.obtenerPromedioValoracion()));
System.out.println("Videojuegos clasificados por promedio de valoraciones:");
mostrarVideojuegos();
}
}
// Clase Video Juego
import java.util.ArrayList;
public class Videojuego {
private String nombre;
private String descripcion;
private int fechaLanzamiento;
private String consola;
private String categoria;
private ArrayList<Integer> valoraciones;
public Videojuego(String nombre, String descripcion, int fechaLanzamiento, String consola, String categoria) {
this.nombre = nombre;
this.descripcion = descripcion;
this.fechaLanzamiento = fechaLanzamiento;
this.consola = consola;
this.categoria = categoria;
this.valoraciones = new ArrayList<>();
}
public void agregarValoracion(int valoracion) {
if (valoracion >= 1 && valoracion <= 5) {
valoraciones.add(valoracion);
} else {
System.out.println("Por favor, ingrese una valoración entre 1 y 5.");
}
}
public double obtenerPromedioValoracion() {
if (valoraciones.isEmpty()) {
return 0;
}
double suma = 0;
for (int valor : valoraciones) {
suma += valor;
}
return suma / valoraciones.size();
}
@Override
public String toString() {
return "Nombre: " + nombre + "\nDescripción: " + descripcion + "\nFecha de Lanzamiento: " + fechaLanzamiento +
"\nConsola: " + consola + "\nCategoría: " + categoria + "\nPromedio de Valoraciones: " + obtenerPromedioValoracion();
}
}