import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;
public class RockHitsApp {
private ArrayList<Cancion> listaCanciones = new ArrayList<>();
private Scanner scanner = new Scanner(System.in);
public RockHitsApp() {
inicializarCanciones();
}
private void inicializarCanciones() {
listaCanciones.add(new Cancion("Sweet Child O' Mine", "Guns N' Roses", 1987));
listaCanciones.add(new Cancion("Livin' on a Prayer", "Bon Jovi", 1986));
listaCanciones.add(new Cancion("Smells Like Teen Spirit", "Nirvana", 1991));
listaCanciones.add(new Cancion("Wonderwall", "Oasis", 1995));
listaCanciones.add(new Cancion("Boulevard of Broken Dreams", "Green Day", 2004));
listaCanciones.add(new Cancion("In the End", "Linkin Park", 2001));
listaCanciones.add(new Cancion("Under the Bridge", "Red Hot Chili Peppers", 1991));
listaCanciones.add(new Cancion("November Rain", "Guns N' Roses", 1991));
listaCanciones.add(new Cancion("Californication", "Red Hot Chili Peppers", 1999));
listaCanciones.add(new Cancion("One", "Metallica", 1988));
}
public void ejecutar() {
while (true) {
System.out.println("\n1. Agregar canción");
System.out.println("2. Mostrar canciones");
System.out.println("3. Ordenar por año");
System.out.println("4. Salir");
System.out.print("Elige una opción: ");
int opcion = scanner.nextInt();
scanner.nextLine();
switch (opcion) {
case 1:
agregarCancion();
break;
case 2:
mostrarCanciones();
break;
case 3:
ordenarCanciones();
break;
case 4:
System.out.println("Saliendo...");
return;
default:
System.out.println("Opción inválida, intenta de nuevo.");
}
}
}
private void agregarCancion() {
System.out.print("Título: ");
String titulo = scanner.nextLine();
System.out.print("Artista: ");
String artista = scanner.nextLine();
System.out.print("Año de lanzamiento: ");
int anio = scanner.nextInt();
scanner.nextLine();
listaCanciones.add(new Cancion(titulo, artista, anio));
System.out.println("Canción añadida.");
}
private void mostrarCanciones() {
if (listaCanciones.isEmpty()) {
System.out.println("No hay canciones en la lista.");
} else {
System.out.println("\nLista de Éxitos del Rock:");
for (Cancion cancion : listaCanciones) {
System.out.println(cancion);
}
}
}
private void ordenarCanciones() {
Collections.sort(listaCanciones, Comparator.comparingInt(Cancion::getAnio));
System.out.println("Canciones ordenadas por año: ");
}
public static void main(String[] args) {
new RockHitsApp().ejecutar();
}
}
Creando Clase Canción:
import java.util.Objects;
public class Cancion {
private String titulo;
private String artista;
private int anio;
public Cancion(String titulo, String artista, int anio) {
this.titulo = titulo;
this.artista = artista;
this.anio = anio;
}
public String getTitulo() {
return titulo;
}
public String getArtista() {
return artista;
}
public int getAnio() {
return anio;
}
@Override
public String toString() {
return anio + " - " + titulo + " - " + artista;
}
}