Hola:
Estuve revisando tu ejercicio y lo veo bien.
Recuerda las correcciones que marcamos en el ejercicio
https://www.aprenderaprogramar.com/foros/index.php?topic=2880.0acerca de la clase EntradTeclado, y sobre el uso de la letra 'ñ' en programación.
Más allá de eso, me gustaría analizar lo siguiente:
Declaras y codificas un recorrido completo de la lista donde se muestran los cantantes a través de la consola, dentro del método main.
A esto no lo veo correcto. Lo más lógico sería que ese recorrido conforme un método en si, y que pertenezca a la clase ListaCantantesFamosos.
De este modo, un objeto tipo ListaCantantesFamosos tendría los siguientes métodos:
getCantante
addCantante
removeCantante
getTamaño
mostarLista
El código con esa modificación sería:
Clase ListaCantantesFamosos
import java.util.ArrayList;
public class ListaCantantesFamosos{
private ArrayList<String> listaCantantes;
public ListaCantantesFamosos(){
listaCantantes = new ArrayList<String>();
listaCantantes.add("Joaquin Sabina");
listaCantantes.add("Carlos Cano");
listaCantantes.add("David Broza");
}
public ArrayList<String> getLista(){
return listaCantantes;
}
public String getCantante(int posicion){
if(posicion>=0 && posicion<listaCantantes.size()){
return listaCantantes.get(posicion);
}else{
return "No existe cantante para esa posición de la lista";
}
}
public void addCantante(String nombreCantante){
listaCantantes.add(nombreCantante);
}
public void removeCantante(int posicion){
if(posicion>=0 && posicion<listaCantantes.size()){
listaCantantes.remove(posicion);
}
}
public int getTamaño(){
return listaCantantes.size();
}
public void mostrarLista(){
int numeroCantante=1;
for(String cantante : listaCantantes){
System.out.println("El cantante numero "+ numeroCantante+" es : "+cantante);
numeroCantante++;
}
}
}
Clase TestForExtendido
public class TestForExtendido{
public static void main(String Arg[]){
ListaCantantesFamosos listaCantantes=new ListaCantantesFamosos();
EntradaTeclado entradaTeclado;
do{
System.out.print("Dame el nombre de un cantante famoso : ");
entradaTeclado = new EntradaTeclado();
listaCantantes.addCantante(entradaTeclado.getEntrada());
listaCantantes.mostrarLista();
System.out.print("¿Quieres continuar?(S/N)");
entradaTeclado.setEntrada();
}while(entradaTeclado.getEntrada().equals("S"));
}
}
Analízalo y cualquier duda estamos aquí para revisarlo nuevamente.