switch(elige){
case 1:
System.out.println("--------------------------------------------");
System.out.println("Has elegido el disco 1!: ");
MenuOperaciones();
if(opcion == 'A'||opcion == 'a'){Disco1.setNombreDisco(); Disco1.setAutor(); Disco1.setFormato(); Disco1.setCanciones();}
else if(opcion == 'B'||opcion == 'b'){
System.out.println("Nombre del disco: " + Disco1.getNombreDisco());
System.out.println("Nombre del autor: " + Disco1.getAutor());
System.out.println("Nombre del formato: " + Disco1.getFormato());
System.out.println("Canciones: ");
Disco1.getCanciones();}
else if(opcion == 'C'||opcion == 'c'){ System.out.println("Saliendo... "); sal1 = true;}
else
System.out.println("Opcion desconocida. Intente de nuevo.");
System.out.println(" ");
System.out.println("--------------------------------------------");
break;
case 2:
System.out.println("--------------------------------------------");
System.out.println("Has elegido el disco 2!: ");
MenuOperaciones();
if(opcion == 'A'||opcion == 'a'){Disco2.setNombreDisco(); Disco2.setAutor(); Disco2.setFormato(); Disco2.setCanciones();}
else if(opcion == 'B'||opcion == 'b'){
System.out.println("Nombre del disco: " + Disco2.getNombreDisco());
System.out.println("Nombre del autor: " + Disco2.getAutor());
System.out.println("Nombre del formato: " + Disco2.getFormato());
System.out.println("Canciones: ");
Disco2.getCanciones();}
else if(opcion == 'C'||opcion == 'c'){ System.out.println("Saliendo... "); sal1 = true;}
else
System.out.println("Opcion desconocida. Intente de nuevo.");
System.out.println(" ");
System.out.println("--------------------------------------------");
break;
case 3:
System.out.println("--------------------------------------------");
System.out.println("Has elegido el disco 3!: ");
MenuOperaciones();
if(opcion == 'A'||opcion == 'a'){Disco3.setNombreDisco(); Disco3.setAutor(); Disco3.setFormato(); Disco3.setCanciones();}
else if(opcion == 'B'||opcion == 'b'){
System.out.println("Nombre del disco: " + Disco3.getNombreDisco());
System.out.println("Nombre del autor: " + Disco3.getAutor());
System.out.println("Nombre del formato: " + Disco3.getFormato());
System.out.println("Canciones: ");
Disco3.getCanciones();
}
else if(opcion == 'C'||opcion == 'c'){ System.out.println("Saliendo... "); sal1 = true;}
else
System.out.println("Opcion desconocida. Intente de nuevo.");
System.out.println(" ");
System.out.println("--------------------------------------------");
break;
default:
System.out.println("No se reconoce la opcion insertada. Intente de nuevo.");
System.out.println(" ");
break;
}
package Discos;
import java.util.Scanner;
public class Lectores {
public Lectores(){}
public String LeerCadena(){
Scanner in = new Scanner(System.in);
return in.nextLine();
}
public Double LecturaDecimal(){
Scanner in = new Scanner(System.in);
return in.nextDouble();
}
public int LecturaEntero(){
Scanner in = new Scanner(System.in);
return in.nextInt();
}
public char LecturaChar(){
Scanner in = new Scanner(System.in);
return in.next().charAt(0);
}
}
package Discos;
public class DiscoMusical{
private String nombreDisco, autor, formato, nombreCancion[]= new String[19], ID_DISCO;
private double duracion, duracionCancion[] = new double[19];
private int numeroCanciones;
public DiscoMusical(){
nombreDisco = "";
autor = "";
formato = "";
duracion = 0;
ID_DISCO = "";
numeroCanciones = 0;
nombreCancion = new String[]{"","","","","","","","","","","","","","","","","","","",""};
duracionCancion = new double[]{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
}
public void setNombreDisco(){
System.out.println("--------------------------------------------");
Lectores leer = new Lectores();
System.out.println("Ingrese el nombre del disco: ");
nombreDisco = leer.LeerCadena();
}
public void setAutor(){
Lectores leer = new Lectores();
System.out.println("Ingrese el nombre del autor de este disco: ");
autor = leer.LeerCadena();
}
public void setFormato(){
Lectores leer = new Lectores();
System.out.println("Ingrese el formato del disco: ");
formato = leer.LeerCadena();
}
public void setID_Disco(){
Lectores leer = new Lectores();
System.out.println("Ingrese el ID del disco: ");
ID_DISCO = leer.LeerCadena();
}
public void setCanciones(){
Lectores leer = new Lectores();
do{
System.out.println("¿Cuantas canciones son?: ");
numeroCanciones = leer.LecturaEntero();
if(numeroCanciones > 20){System.out.println("Solo se pueden ingresar hasta 20 temas musicales. \nIntente de nuevo.");
System.out.println(" ");
}
}while(numeroCanciones > 20);
for (int i = 0, j = 1; i < numeroCanciones; i++, j++){
System.out.println("Ingrese el nombre de la cancion numero " + j + ": ");
nombreCancion[i] = leer.LeerCadena();
System.out.println("Ingrese la duracion de la cancion numero " + j + ": ");
duracionCancion[i] = leer.LecturaDecimal();
duracion = duracion + duracionCancion[i];
}
System.out.println("Datos Listos!.");
System.out.println("--------------------------------------------");
}
public boolean Equals(Object obj){
if(obj instanceof DiscoMusical){
DiscoMusical temp = (DiscoMusical)obj;
if(this.ID_DISCO.equals(temp.ID_DISCO)) return true;
else return false;
}
else return false;
}
public String getNombreDisco(){return nombreDisco;}
public String getAutor(){return autor;}
public String getFormato(){return formato;}
public String getID_Disco(){return ID_DISCO;}
public double Redondear(double numero,int digitos){
int cifras=(int) Math.pow(10,digitos);
return Math.rint(numero*cifras)/cifras;
}
public void getCanciones(){
System.out.println("\nCanciones del disco: ");
for (int i = 0, j = 1; i < numeroCanciones; i++, j++){
System.out.println(j + ". " + nombreCancion[i] + " (Duracion: " + Redondear(duracionCancion[i],2) + ").");
}
System.out.println("*************************************************************************");
System.out.println("Duracion total del disco: " + Redondear(duracion,2));
System.out.println("-------------------------------------------------------------------------");
}
public String toString(){
return "ID del disco: ".concat(ID_DISCO).concat("\nNombre del disco: ").concat(nombreDisco).concat("\nAutor: ").concat(autor).concat("\nFormato: ").concat(formato);
}
}
package Discos;
import java.util.Iterator;
import java.util.ArrayList;
public class Menu {
Lectores leer = new Lectores();
DiscoMusical Disco1 = new DiscoMusical();
DiscoMusical Disco2 = new DiscoMusical();
DiscoMusical Disco3 = new DiscoMusical();
ArrayList <DiscoMusical> listaDisco = new ArrayList <>();
int elige; String opcion; boolean ingresoInicial = false;
public void MenuPrincipal(){
listaDisco.add(Disco1); listaDisco.add(Disco2); listaDisco.add(Disco3);
while(true){
System.out.println("Bienvenido a la ultima version de DISCMAN!!\nEscriba Si continuar, de lo contrario, escriba Salir.");
opcion = leer.LeerCadena();
if(opcion.equalsIgnoreCase("Si")){
if(ingresoInicial == false){
int num = 1, cont = 0;
System.out.println("Para continuar, se necesita ingresar el ID del disco: ");
for(DiscoMusical aux1: listaDisco){
System.out.println("Disco numero " + num++ + ":");
do{
aux1.setID_Disco(); cont = 0;
for(int i =0; i < listaDisco.size(); i++){
if(aux1.Equals(listaDisco.get(i))){cont++;}}
if(cont > 1) System.out.println("Ha ingresado un ID repetido, ingrese otro diferente.");
}while(cont != 1);}
}
ingresoInicial = true;
MenuOperaciones();
}
else if(opcion.equalsIgnoreCase("Salir")){ System.out.println("Hasta luego!"); System.exit(0);}
else System.out.println("Caracter desconocido, intente de nuevo.");
}}
public void MenuOperaciones(){
while(opcion.equalsIgnoreCase("D") == false){
System.out.println("\n¿Que accion deseas ejecutar?:");
System.out.println("A)Ingresar datos a un disco.\nB)Imprimir datos de un disco.\nC)Imprimir todos los datos de los discos.\nD)Salir de este menu.");
opcion = leer.LeerCadena();
switch(opcion){
case "a":
case "A": boolean detectado = false;
System.out.println("Escriba el ID del disco al que se le va a ingresar datos: ");
while(detectado != true){
opcion = leer.LeerCadena();
for(int i = 0; i<listaDisco.size(); i++){
if(listaDisco.get(i).getID_Disco().equals(opcion)){
listaDisco.get(i).setNombreDisco(); listaDisco.get(i).setAutor(); listaDisco.get(i).setFormato(); listaDisco.get(i).setCanciones();
detectado = true;
}
}if(detectado == false){System.out.print("No se ha encontrado el ID ingresado, intente de nuevo: ");}}
System.out.println();
break;
case "b":
case "B": detectado = false;
System.out.println("Escriba el ID del disco para mostrar sus datos: ");
while(detectado != true){
opcion = leer.LeerCadena();
for(int i = 0; i<listaDisco.size(); i++){
if(listaDisco.get(i).getID_Disco().equals(opcion)){
System.out.println(listaDisco.get(i).toString());
listaDisco.get(i).getCanciones(); detectado = true;
}
}if(detectado == false){System.out.print("No se ha encontrado el ID ingresado, intente de nuevo: ");}}
System.out.println();
break;
case "c":
case "C":
Iterator <DiscoMusical> recorre = listaDisco.iterator();
while(recorre.hasNext()){
DiscoMusical temp = recorre.next();
System.out.println(temp.toString()); temp.getCanciones();
System.out.println();
}
break;
case "d":
case "D": System.out.println("Saliendo . . . \n"); MenuPrincipal(); break;
default: System.out.println("Opcion desconocida."); break;
}
}
}
}
do{
aux1.setID_Disco(); cont = 0;
for(int i =0; i < listaDisco.size(); i++){
if(aux1.Equals(listaDisco.get(i))){cont++;}}
if(cont > 1) System.out.println("Ha ingresado un ID repetido, ingrese otro diferente.");
}while(cont != 1);}
package Discos;
public class Main {
public static void main(String[]args){
Menu main = new Menu();
main.MenuPrincipal();
}
}