Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Campillo en 11 de Agosto 2015, 22:14

Título: Java crear una clase que simula una lista y recorrer objetos con while CU00667B
Publicado por: Campillo en 11 de Agosto 2015, 22:14
Respuesta al ejercicio CU00667B del tutorial java:


Cantantes Famosos

Código: [Seleccionar]
import java.util.ArrayList;
import java.util.Iterator;

public class ListaCantantesFamosos3
{
    private ArrayList<String> listaCantantes;
    private String nombreLista;
    private String nombre;
    private String discoConMasVentas;

    //Constructor for objects of class ListaCantantesFamosos3
    public ListaCantantesFamosos3( String nombreDeLaLista )
    {
        nombreLista = nombreDeLaLista;
        nombre = "";
        discoConMasVentas = "";
        listaCantantes = new ArrayList<String>();
    }
   
    //Métodos
    //Meter nuevo nombre a la lista
    public void addNombre( String valor_nombre ){ listaCantantes.add(valor_nombre); }
   
    //Meter disco
    public void addDisco( String valor_disco ) { listaCantantes.add(valor_disco); }
   
    //Obtener nombre por la posicion
    public String getNombre( int posicion){
        if( posicion >= 0 && posicion < listaCantantes.size() ){
            return listaCantantes.get(posicion);
        }else{
            return "No hay tantos elementos";
        }
    }
   
    //Obtener tamaño
    public int getTamanyo(){
        return listaCantantes.size();
    }
   
    //Borrar nombre
    public void removeNombre( int posicion ){
        listaCantantes.remove(posicion);
    }
     
    //Establecer nombre
    public void setNombre( String valorNombre ){
        nombre = valorNombre;
    }
   
    //Establecer discoConMasVentas
    public void setDisco( String valorDisco ){
        discoConMasVentas = valorDisco;
    }
   
    //Obtener nobmre
    public String getNombre(){ return nombre; }
   
    //Obtener discoConMasVentas
    public String getDisco(){ return discoConMasVentas; }
   
    //Mostrar lista
    public void setLista(){
        Iterator<String> it = listaCantantes.iterator();
        System.out.println("La lista inicial contiene los siguientes datos");
        while(it.hasNext()){
            System.out.print("Cantante: ");
            System.out.print(it.next());
            System.out.print("    Disco con más ventas: ");
            System.out.println(it.next());
        }
    }
}


Test Cantantes famosos

Código: [Seleccionar]
import java.util.Scanner;


public class TestCantantesFamosos3
{
    public static void main( String [] args ){
        ListaCantantesFamosos3 listaCantantes = new ListaCantantesFamosos3("Nombres");
        System.out.println("Introduce el nombre de un cantante famoso");
        Scanner escribirCantante = new Scanner(System.in);
        String cantante = escribirCantante.nextLine();
        System.out.println("Introduce su disco mas famoso");
        Scanner escribirDisco = new Scanner(System.in);
        String disco = escribirDisco.nextLine();
        System.out.println("Introduce el nombre de otro cantante");
        Scanner escribirCantante2 = new Scanner(System.in);
        String cantante2 = escribirCantante2.nextLine();
        System.out.println("Introduce su disco mas famoso");
        Scanner escribirDisco2 = new Scanner(System.in);
        String disco2 = escribirDisco2.nextLine();
        listaCantantes.addNombre(cantante);
        listaCantantes.addDisco(disco);
        listaCantantes.addNombre(cantante2);
        listaCantantes.addDisco(disco2);
        listaCantantes.setLista();
        while(true){
            System.out.println("Introducir otro cantante famoso");
            Scanner escribirCantantex = new Scanner(System.in);
            String cantantex = escribirCantantex.nextLine();
            System.out.println("Introduce su disco mas famoso");
            Scanner escribirDiscox = new Scanner(System.in);
            String discox = escribirDiscox.nextLine();
            listaCantantes.addNombre(cantantex);
            listaCantantes.addDisco(discox);
            listaCantantes.setLista();
            System.out.println("¿Desea introducir los datos de otro cantante?(s/n)");
            Scanner escribirRespuesta = new Scanner(System.in);
            String respuesta = escribirRespuesta.nextLine();
            if ( respuesta.equals("s")){
               
            }else if ( respuesta.equals("n")){
                break;
            }else{
                System.out.println("No existe esa opcion");
                break;
            }
        }
    }
}
Título: Re:Java crear una clase que simula una lista y recorrer objetos con while CU00667B
Publicado por: Alex Rodríguez en 13 de Agosto 2015, 10:05
Hola Campillo

La solución que has planteado no se ajusta a lo que pide el ejercicio

El ejercicio pide que se cree y se trabaje con objetos de tipo CantanteFamoso y en el código de solución propuesto no has creado esa clase, con lo cual no es una respuesta válida para lo que pide el ejercicio

Saludos