Hola, César.
No entendí muy bien de lo "un constructor sin atributos". ¿Te refieres a un constructor vacío? Algo así:
public CantanteFamoso(){
}
Es decir, el código de "CantanteFamoso" debería de quedar de la siguiente forma:
public class CantanteFamoso{
public String nombre;
public String discoConMasVentas;
public CantanteFamoso(){
//Nada que declarar
}
public CantanteFamoso(String valor_nombre, String valor_discoConMasVentas){
nombre = valor_nombre;
discoConMasVentas = valor_discoConMasVentas;
}
public void setNombre(String valor_nombre){
nombre = valor_nombre;
}
public void setDiscoConMasVentas(String valor_discoConMasVentas){
discoConMasVentas = valor_discoConMasVentas;
}
public String getNombre(){return nombre;}
public String getDiscoConMasVentas(){return discoConMasVentas;}
public void mostrarCantante(){
System.out.println("Cantante: "+nombre+"\nDisco más vendido: "+discoConMasVentas);
}
}
En el código de "ListaCantantesFamosos", agregué lo siguiente:
public void setListaCantantes(ArrayList<CantanteFamoso> nueva_listaCantantes){
listaCantantes = nueva_listaCantantes;
}
y por lo que el código se quedó:
import java.util.ArrayList;
public class ListaCantantesFamosos{
private ArrayList<CantanteFamoso> listaCantantes;
public ListaCantantesFamosos(){
listaCantantes = new ArrayList<CantanteFamoso>();
}
public void setListaCantantes(ArrayList<CantanteFamoso> nueva_listaCantantes){
listaCantantes = nueva_listaCantantes;
}
public void añadirCantante(String valor_nombre, String valor_discoConMasVentas){
listaCantantes.add(new CantanteFamoso(valor_nombre, valor_discoConMasVentas));
}
public int getTamaño(){return listaCantantes.size();}
public CantanteFamoso obtenerInfo(int posicion){return listaCantantes.get(posicion);}
public ArrayList<CantanteFamoso> obtenerLista(){
return listaCantantes;
}
}
No estoy muy seguro que si corregí bien los errores. ¿Podrás volver a mirártelo?, por favor.
Gracias