Ejercicio CU00667B del tutorial de fundamentos de programación orientada a objetos. Creo que tiene algunos detalles no correctos, pero es que se me dificultó un poco.
public class CantanteFamoso
{
String nombre;
String discoMasVendido;
public CantanteFamoso(){
nombre="desconocido";
discoMasVendido="desconocido";
}
public void setNombre(String valorNombre){
nombre=valorNombre; }
public void setDiscoMasVendido(String valorDiscoMasVendido){
discoMasVendido=valorDiscoMasVendido;}
public String getNombre(){
return nombre;}
public String getDiscoMasVendido(){
return discoMasVendido;}
}
import java.util.ArrayList;
public class ListaDeCantantesFamosos
{
private ArrayList<CantanteFamoso> listaCantantesFamosos;
public ListaDeCantantesFamosos()
{
listaCantantesFamosos=new ArrayList<CantanteFamoso>();
}
public void agregarCantante(String nuevoNombre,String nuevoDisco){
CantanteFamoso nuevoCantante= new CantanteFamoso();
nuevoCantante.setNombre(nuevoNombre);
nuevoCantante.setDiscoMasVendido(nuevoDisco);
listaCantantesFamosos.add(nuevoCantante);
}
public ArrayList<CantanteFamoso>getLista(){
return listaCantantesFamosos;}
}
import java.util.Iterator;
import java.util.Scanner;
public class TestListaCantantesFamosos
{
public static void main (String [] args)
{
Scanner entradaEscaner = new Scanner (System.in);
String respuesta="si";
String nombreN="";
String discoN="";
boolean original=true;
ListaDeCantantesFamosos lista= new ListaDeCantantesFamosos();
lista.agregarCantante("Madonna", "All i want is you");
lista.agregarCantante("Jorge Negrete", "Jalisco");
Iterator <CantanteFamoso> it;
CantanteFamoso cantanteActual=null;
while(respuesta.equals("si")){
it= lista.getLista().iterator();
if(original==true){ System.out.println("La lista inicial es: "); original=false;}
else{System.out.println("la lista actualizada es: ");}
while (it.hasNext()== true)
{
cantanteActual=it.next();
System.out.print("Cantante: " + cantanteActual.getNombre());
System.out.println(" Disco mas vendido: " + cantanteActual.getDiscoMasVendido());
}
System.out.println("introduzca otro cantante");
System.out.println("nombre");
nombreN=entradaEscaner.nextLine();
System.out.println("disco mas vendido");
discoN=entradaEscaner.nextLine();
lista.agregarCantante(nombreN, discoN);
System.out.println("¿desea introducir otro cantante (s/n)?");
respuesta=entradaEscaner.nextLine();
}
}
}