Autor Tema: Java crear una clase test con el método main Tipo Iterator api Java. CU00667B  (Leído 3904 veces)

lpeiro61

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 11
    • Ver Perfil
Hola de nuevo, pongo el código de este ejercicio.

Citar
EJERCICIO

Crea una clase denominada ListaCantantesFamosos que disponga de un atributo ArrayList listaCantantesFamosos que contenga objetos de tipo CantanteFamoso. La clase debe tener un método que permita añadir objetos de tipo CantanteFamoso a la lista. Un objeto de tipo CantanteFamoso tendrá como atributos nombre (String) y discoConMasVentas (String), y los métodos para obtener y establecer los atributos. Crea una clase test con el método main que inicialice un objeto ListaCantantesFamosos y añade manualmente dos objetos de tipo CantanteFamoso a la la lista. Usando iterator muestra los nombres de cada cantante y su disco con más ventas por pantalla. Se debe pedir al usuario un nombre y disco con más ventas de otro cantante famoso, y una vez introducidos los datos mostrar la lista actualizada usando iterator. Una vez mostrada la lista actualizada, se debe dar opción a elegir entre volver a introducir los datos de otro cantante o salir del programa (se podrán introducir tantos datos de cantantes como se desee. Para ello usa un bucle while que dé opción a elegir al usuario).


Clase para entradas de teclado:
Código: [Seleccionar]
import java.util.Scanner;

public class EntradaDeTeclado
{
    private String entradaTeclado;
   
    public EntradaDeTeclado()
    {
        entradaTeclado = "";
        pedirEntrada();
    }
   
    public void pedirEntrada()
    {
        Scanner entradaEscaner = new Scanner(System.in);
        entradaTeclado = entradaEscaner.nextLine();
    }
   
    public String getEntrada(){return entradaTeclado;}
}

Ahora la clase ListaCantantesFamosos2 con la creación del ArrayList y los métodos:
Código: [Seleccionar]
import java.util.ArrayList;
import java.util.Iterator;

public class ListaCantantesFamosos2
{
   private ArrayList<CantanteFamoso> listaCantantesFamosos;
   
   public ListaCantantesFamosos2()
   {
       listaCantantesFamosos = new ArrayList<CantanteFamoso>();
   }
   
   public void addCantanteInicial(CantanteFamoso cantante)
   {
       listaCantantesFamosos.add(cantante);
   }
   
   public void addCantanteFamoso()
   {
       CantanteFamoso cantante = new CantanteFamoso();
       
       System.out.println("\nIntroduce otro cantante...");
       System.out.println("Primero el nombre:");
       EntradaDeTeclado entrada1 = new EntradaDeTeclado();
       String valor_nombre = entrada1.getEntrada();
       cantante.setNombre(valor_nombre);
       
       System.out.println("\nAhora el disco más vendido:");
       EntradaDeTeclado entrada2 = new EntradaDeTeclado();
       String valor_disco = entrada2.getEntrada();
       cantante.setDiscoMasVendido(valor_disco);
       
       listaCantantesFamosos.add(cantante);
   }
   
   public void listarCantantes()
   {
       Iterator<CantanteFamoso> it = listaCantantesFamosos.iterator();
       
       while(it.hasNext())
       {
           CantanteFamoso cantante = it.next();
           System.out.println("  Cantante: " + cantante.getNombre() + "  -  Disco más vendido: " + cantante.getDiscoMasVendido());
       }
   }
}

Y la clase con el main:
Código: [Seleccionar]
public class TestListaCantantesFamoso
{
    public static void main(String[] args)
    {
        ListaCantantesFamosos2 cantantes = new ListaCantantesFamosos2();
       
        CantanteFamoso cantante1 = new CantanteFamoso("Sting", "The Best of Sting & The Police");
        CantanteFamoso cantante2 = new CantanteFamoso("Neil Young", "Harvest");
        cantantes.addCantanteInicial(cantante1);
        cantantes.addCantanteInicial(cantante2);

        System.out.println("LISTA INICIAL ");
        cantantes.listarCantantes();
       
        cantantes.addCantanteFamoso();
        System.out.println("\nLISTA ACTUALIZADA");
        cantantes.listarCantantes();
       
        String seguir = "s";
        while(seguir.equalsIgnoreCase("s"))
        {
            System.out.print("\n¿Quieres introducir otro cantante? S/N \n");
            EntradaDeTeclado entrada = new EntradaDeTeclado();
            seguir = entrada.getEntrada();
            if(seguir.equalsIgnoreCase("s"))
            {
            cantantes.addCantanteFamoso();
            System.out.println("\nLISTA ACTUALIZADA");
            cantantes.listarCantantes();
            }
            else{seguir = "n";}
        }
        System.out.println("\nLista de Cantantes Famosos completa!");
    }
}

Saludos.
« Última modificación: 05 de Abril 2016, 10:14 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola lpeiro61 parece que hay algún error con el código que has pegado, al intentar compilarlo indica que falta la clase CantanteFamoso. A lo mejor se ha mezclado el código de otros ejercicios ¿?

Saludos

lpeiro61

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 11
    • Ver Perfil
Hola Alex, que me dejé poner el código de la clase CantanteFamoso.
Te lo  pongo aquí por que creo que ya no puedo editar el post inicial.

Código: [Seleccionar]
public class CantanteFamoso
{
    private String nombre;
    private String discoMasVendido;
   
    public CantanteFamoso()
    {
        nombre = "";
        discoMasVendido = "";
    }
   
    public CantanteFamoso(String nombre, String disco)
    {
        this.nombre = nombre;
        discoMasVendido = disco;
    }
   
    public void setNombre(String nombre){this.nombre = nombre;}
   
    public void setDiscoMasVendido(String disco){discoMasVendido = disco;}
   
    public String getNombre(){return nombre;}
   
    public String getDiscoMasVendido(){return discoMasVendido;}
}


Saludos.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".