1
C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más / Cómo crear un iterador de clase para colección Tipo iterator Java API CU00667B
« en: 17 de Febrero 2018, 11:54 »
Hola, os dejo mi planteamiento a la solución del ejercicio CU00667B del tutorial pdf de programación básica Java de aprenderaprogramar.
Cualquier observación será bienvenida.
Clase GestionTeclado
Clase CantanteFamoso
Clase ListaCantantesFamosos
Clase TestListaCantantesFamosos
¡Gracias!
Cualquier observación será bienvenida.
Clase GestionTeclado
Código: [Seleccionar]
import java.util.Scanner;
public class GestionTeclado{
private String texto;
private int numero;
public GestionTeclado(){
texto="";
numero=0;
}
public String pedirTexto(){
Scanner entradaEscaner = new Scanner (System.in);
texto = entradaEscaner.nextLine();
return texto;
}
public int pedirNumero(){
Scanner entradaEscaner = new Scanner (System.in);
numero = entradaEscaner.nextInt();
return numero;
}
public String gettexto(){
return texto;
}
public int getNumero(){
return numero;
}
public int getLongtexto(){
return texto.length();
}
}
Clase CantanteFamoso
Código: [Seleccionar]
public class CantanteFamoso {
private String nombre; //Nombre del cantante famoso
private String disco; //Título del disco más vendido
public CantanteFamoso(){
nombre="";
disco="";
}
public CantanteFamoso(String nombre, String disco){
this.nombre=nombre;
this.disco=disco;
}
public void setNombreCantante(String nombre){
this.nombre=nombre;
}
public void setDisco(String disco){
this.disco=disco;
}
public String getNombreCantante() {
return nombre;
}
public String getDisco(){
return disco;
}
}
Clase ListaCantantesFamosos
Código: [Seleccionar]
import java.util.ArrayList;
import java.util.Iterator;
public class ListaCantantesFamosos {
private ArrayList<CantanteFamoso> listaCantantesFamosos;
public ListaCantantesFamosos() {
listaCantantesFamosos = new ArrayList<CantanteFamoso>();
}
public void addCantanteFamoso(CantanteFamoso nuevoCantanteFamoso) {
listaCantantesFamosos.add(nuevoCantanteFamoso);
}
public void listarTodos() {
Iterator<CantanteFamoso> itCantante = listaCantantesFamosos.iterator();
String nombre;
String disco;
CantanteFamoso tempCantanteFamoso = new CantanteFamoso();
while (itCantante.hasNext()){
tempCantanteFamoso=itCantante.next();
nombre=tempCantanteFamoso.getNombreCantante();
disco=tempCantanteFamoso.getDisco();
System.out.println ("Cantante: "+nombre+" / Disco: "+disco);
}
}
}
Clase TestListaCantantesFamosos
Código: [Seleccionar]
public class TestListaCantantesFamosos {
public static void main (String [ ] args) {
ListaCantantesFamosos lista = new ListaCantantesFamosos();
// Inicializar lista con un par de objetos
lista.addCantanteFamoso(new CantanteFamoso("Madonna", "All I want is you"));
lista.addCantanteFamoso(new CantanteFamoso("Jorge Negrete", "Jalisco"));
GestionTeclado entrada = new GestionTeclado();
int menu = 0;
while (menu != 3){
System.out.println ("\n1 - Listar todos los cantantes");
System.out.println ("2 - Añadir un cantante a la lista");
System.out.println ("3 - Finalizar");
System.out.println ("=================================");
System.out.println ("Teclea opción");
menu=entrada.pedirNumero();
switch (menu){
case 1:
lista.listarTodos();
break;
case 2:
String nombre;
String disco;
System.out.println ("Teclea nombre del cantante");
nombre = entrada.pedirTexto();
System.out.println ("Teclea nombre del disco más vendido");
disco = entrada.pedirTexto();
lista.addCantanteFamoso(new CantanteFamoso(nombre, disco));
break;
case 3:
System.out.println ("Finalizado por el usuario");
break;
default:
System.out.println ("ERROR: opción elegida no válida");
}
}
}
}
¡Gracias!