Hola LuisM
[Repito] Por favor, si creas temas en el foro, ponle un título adecuado siguiendo las indicaciones que se dan en
https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0Es conveniente que trates no solo de que el código sea correcto, sino que esté bien presentado, espaciado, indentado, etc. Para ello en los editores suele haber una opción de formateado. Por ejemplo en BlueJ en el menú Edit la opción AutoLayout. No obstante, por ejemplo dejar espacio entre dos métodos es algo que debes hacer manualmente tú y que mejora la presentación.
Usas un índice con un for extendido en for (String nombre:listadenombres) {System.out.println (( i+1 )+".- " +getNombre( i ));i++;};
Te aconsejo leer esto:
https://www.aprenderaprogramar.com/foros/index.php?topic=3210.msg14220#msg14220En la clase con el main tienes esto:
public class Test {
public ListaCantantesFamosos cantantes;
public EntradaDeTeclado entrada;
Realmente esta declaración de atributos sobra en la clase Test. La clase Test aquí no tiene sentido que la declares con estos atributos public. Es más, si eliminas esas líneas el programa se ejecuta igualmente y con el mismo resultado. Debes evitar dejar partes de código inservible en tus programas.
De resto el código me ha parecido bien. Una cosa que me ha gustado es tu diseño de la clase con el main, es simple, compacto y efectivo
Saludos