1
Aprender a programar desde cero / Ejercicio CU00667B Uso de tipo Iterator, metodo iterator y bucle while en java.
« en: 03 de Noviembre 2014, 00:31 »
Aquí está el código que finalmente he conseguido hacer que funcione y cumpla con las condiciones del ejercicio, por lo tanto me gustaría saber si alguien podría comentarme si está bien y si se podría cambiar o mejorar algo. Gracias de antemano.
CantanteFamoso
EntradaTexto
ListaCantantesFamosos
Test
CantanteFamoso
Código: [Seleccionar]
public class CantanteFamoso {
String nombre;
String discoConMasVentas;
public CantanteFamoso() {
nombre = "";
discoConMasVentas = "";
}
public CantanteFamoso(String nombre, String disco) {
this.nombre = nombre;
discoConMasVentas = disco;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public void setDiscoVentas(String disco) {
discoConMasVentas = disco;
}
public String getNombre() {
return nombre;
}
public String getDiscoVentas() {
return discoConMasVentas;
}
}
EntradaTexto
Código: [Seleccionar]
import java.util.Scanner;
public class EntradaTexto {
public Scanner lector;
public EntradaTexto() {
lector = new Scanner(System.in);
}
public String leerTexto() {
return lector.nextLine();
}
}
ListaCantantesFamosos
Código: [Seleccionar]
import java.util.ArrayList;
public class ListaCantantesFamosos {
public ArrayList<CantanteFamoso> listaCantantesFamosos;
public ListaCantantesFamosos() {
listaCantantesFamosos = new ArrayList<CantanteFamoso>();
}
public void addCantantes(CantanteFamoso nombre) {
listaCantantesFamosos.add(nombre);
}
}
Test
Código: [Seleccionar]
import java.util.Iterator;
public class Test {
public Test() {
}
public static void main(String[] args) {
ListaCantantesFamosos lista1 = new ListaCantantesFamosos();
CantanteFamoso Cantante1 = new CantanteFamoso("Michael Jackson", "Thriller");
lista1.addCantantes(Cantante1);
CantanteFamoso Cantante2 = new CantanteFamoso("Luis Miguel", "Mi jardín oculto");
lista1.addCantantes(Cantante2);
EntradaTexto texto = new EntradaTexto();
while (true) {
Iterator<CantanteFamoso> it = lista1.listaCantantesFamosos.iterator();
System.out.println("Esta es la lista actualizada: ");
while (it.hasNext()) {
CantanteFamoso objeto = it.next();
System.out.println("Nombre: " + objeto.getNombre() + " " + "Disco: " + objeto.getDiscoVentas());
}
System.out.println("¿Desea añadir algún dato?(y/n) ");
if (texto.leerTexto().equals("y")) {
System.out.println("Introduzca nombre del autor: ");
String cantante = texto.leerTexto();
System.out.println("Introduzca nombre del disco mas vendido: ");
String disco = texto.leerTexto();
lista1.addCantantes(new CantanteFamoso(cantante, disco));
}
else {
break;
}
}
}
}