Autor Tema: Ejercicio CU00667B curso Java: cannot find symbol- class ArrayList  (Leído 3987 veces)

el_calderas

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 43
    • Ver Perfil
Hola,

Tengo un problema con este ejercicio. Me sale el error 'cannot find symbol- class ArrayList' en la clase ListaCantantesFamosos:

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

public class ListaCantantesFamosos
{
    private ArrayList<CantanteFamoso>listaCantantesFamosos; //declaramos un ArrayList que contiene objetos tipo cantanteFamoso
    private String nombre;//establecemos o declaramos un atributo nombre de la lista

    public ListaCantantesFamosos(String valor_nombre){
        nombre=valor_nombre;
        listaCantantesFamosos=new Arraylist<CantanteFamoso>();//creamos un objeto ArrayList, listaCantantesFamosos, que contiene objetos tipo cantanteFamoso
    }

    public void addCantante(CantanteFamoso valor_nombre){
        listaCantantesFamosos.add(valor_nombre);
    }
}

La clase CantanteFamoso es :
Código: [Seleccionar]
public class CantanteFamoso
{
    private String nombre;
    private String discoConMasVentas;
   
    public CantanteFamoso(String valor_nombre, String valor_disco){
        nombre=valor_nombre;
        discoConMasVentas=valor_disco;
    }
}

No consigo ver porque me sale el error.

Si me podeis ayudar.

Muchas gracias.
« Última modificación: 04 de Marzo 2015, 21:39 por César Krall »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:Ejercicio CU00667B curso Java: cannot find symbol- class ArayList
« Respuesta #1 en: 02 de Marzo 2015, 09:15 »
Hola tienes mal escrito esto listaCantantesFamosos=new Arraylist<CantanteFamoso>();

Cuando debe ser listaCantantesFamosos=new ArrayList<CantanteFamoso>();

Es decir la ele de ArrayList es mayúscula, no minúscula.

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

el_calderas

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 43
    • Ver Perfil
Re:Ejercicio CU00667B curso Java: cannot find symbol- class ArrayList
« Respuesta #2 en: 05 de Marzo 2015, 16:25 »
Muchas gracias, sabia que era una tonteria pero es de esos errores que por mucho que lo repases no ves...
Pues aqui esta mi solución para este ejercicio.
Como siempre, agradezco sujerencias para mejorar el codigo.

Clase ListaCantantesFamosos:

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

public class ListaCantantesFamosos
{
    private ArrayList<CantanteFamoso>listaCantantesFamosos; //declaramos un ArrayList que contiene objetos tipo cantanteFamoso
    private String nombre;//establecemos o declaramos un atributo nombre de la lista

    public ListaCantantesFamosos(String valor_nombre){
        nombre=valor_nombre;
        listaCantantesFamosos=new ArrayList<CantanteFamoso>();//creamos un objeto ArrayList, listaCantantesFamosos, que contiene objetos tipo cantanteFamoso
    }

    public void addCantante(CantanteFamoso valor_nombre){
        listaCantantesFamosos.add(valor_nombre);
    }
   
    public void listar(){
        Iterator<CantanteFamoso>it=listaCantantesFamosos.iterator();//creamos la copia creando un objeto iterator
        CantanteFamoso tmpCantanteFamoso=new CantanteFamoso("","");//creamos el objeto CantanteFamoso temporal para guardar el que saquemos de la lista
        while(it.hasNext()){//devuelve true si el objeto no es el  ultimo de la collección
            tmpCantanteFamoso=it.next();//sacamos de la lista un objeto CantanteFamoso, el metodo next() ha avanzado ya al siguiente elemento...
            System.out.println("Cantante: "+ tmpCantanteFamoso.getCantante());
            System.out.println("Disco mas vendido: "+ tmpCantanteFamoso.getDisco());
        }
    }
    public void introducirNuevoCantante(){
        System.out.println("Por favor, introduzca otro cantante: \nNombre:");
        Scanner sc=new Scanner(System.in);
        String entradaNombre=sc.nextLine();
        System.out.println("Disco:");
        String entradaDisco=sc.nextLine();
        CantanteFamoso newCantante3=new CantanteFamoso(entradaNombre,entradaDisco);
        listaCantantesFamosos.add(newCantante3);
        System.out.println("La lista actualizada contiene los siguientes nombres");
        listar();
    }
   
       
}

clase CantanteFamoso:

Código: [Seleccionar]
public class CantanteFamoso
{
    private String nombre;
    private String discoConMasVentas;

    public CantanteFamoso(String valor_nombre, String valor_disco){
        nombre=valor_nombre;
        discoConMasVentas=valor_disco;
    }

    public void setCantante(String valor_nombre){
        nombre=valor_nombre;
    }

    public String getCantante(){
        return nombre;
    }

    public void setDisco(String valor_disco){
        discoConMasVentas=valor_disco;
    }

    public String getDisco(){
        return discoConMasVentas;
    }

}

y clase TextListaCantantesFamosos:

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

public class TextListaCantantesFamosos
{
    public static void main(String[]arg){
        ListaCantantesFamosos lista=new ListaCantantesFamosos("lista");//creamos un objeto ArrayList
        CantanteFamoso newCantante1=new CantanteFamoso("Madonna","no se");//creamos un objeto tipo CantanteFamoso
        CantanteFamoso newCantante2=new CantanteFamoso("BonJovi","puede ser..");//creamos un objeto tipo CantanteFamoso
        lista.addCantante(newCantante1);
        lista.addCantante(newCantante2);


        System.out.println("La lista inicial contiene los siguientes nombres");
        lista.listar();

        lista.introducirNuevoCantante();

        boolean aux=true;
        while(aux==true){

            System.out.println("¿Desea introducir otro cantante (S/N)?");
            Scanner sc=new Scanner(System.in);
            String decision=sc.nextLine();
            if(decision.equalsIgnoreCase("S")){
                lista.introducirNuevoCantante();
                aux=true;
            }else{
                aux=false;
            }

        }
    }
}

Un saludo.

 

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".