Hola Ramón:
He estado revisando tu código:
Respecto de la clase EntradaDeTeclado. Funcionalmente funciona muy bien, si embargo no considero que esté bien nombrada. La renombraría con algo más significativo de lo que representa la clase, por ejemplo GestionadorEntradasTeclado, ya que eso es lo que esta clase es.
Lo mismo que modificaría sus dos métodos combinándolos en uno solo que al llamarlo, nos devolviera el atributo tipo String que fuese el valor que se ha ingresado por teclado. A ese método lo llamaria algo así como recogerPalabra(), ya que realmente es lo que hace.
Recuerda que la idea en POO es también crear códigos que luego podamos reutilizar. Entonces con esta clase EntradaDeTeclado con un método recogerPalabra() tendrás un código que podrás seguir utilizando en otros proyectos y no solo estará limitado a este ejercicio.
Sobre cómo renombrar las clases te cito textual lo que en otro hilo sugirió Mario R. Rancel (el Administrador), y considero que es muy esclarecedor:
Te recomendaría que empieces a acostumbrarte a pensar en cómo nombrar adecuadamente a las clases. El nombre normalmente debe ser descriptivo, en singular, y reflejar lo que representa o hace la clase. En el caso de que la clase represente algo de la vida real será "Rueda" o "Vehiculo", etc. En el caso de que represente algo no real podrá ser "Pensamiento" o "Duda" o "Reunion". Cuando las clases están destinadas más que a representar a realizar procesos, como es este caso, los nombres suelen ser del tipo -or, por ejemplo CombinadorInicialesPalabras, Exponenciador, ConstructorDeMultillaves, ExtractorDeAtributos, ReductorDeFlujo, etc.
Respecto de la clase CantanteFamoso:
Me ha parecido muy bien codificar dos posibilidades de Constructor: con y sin parámetros.
Muy bien los métoso get. Te han faltado escribir los métodos set.
Respecto de la clase ListaCantantesFamosos:
Está muy bien realizada la clase, aunque fíjate que te sale un Warning al compilarla. Es por cómo has codificado el Constructor, está mal inicializado el ArrayList. Analiza y escribe el constructor de la siguiente manera:
public ListaCantantesFamosos() {
cantantes = new ArrayList<CantanteFamoso>();
}
El atributo del método AgregarCantanteFamoso debería ir con minúscula para respetar la convención de minúsculas y mayúsculas al nombrar atributos.
Muy bien realizado el método listarCantanteFamoso().
Respecto de la clase EjerciciosCu00667B:
Está clase no complia, pero está muy bien realizada.
¿Dónde está el problema que hace que no compile? No compila porque deberías cambiar la línea:
List.listarCantanteFamoso();
por:
listacantate.listarCantanteFamoso();
Sugeriría además que renombraras el atributo listacantate por listaCantante para respetar la convención de minúsculas y mayúsculas al nombrar atributos.
Otra sugerencia: a la declaración del atributo tipo String
String continuar = new String();
simplemente la deberías realizar como lo hemos hecho siempre:
String continuar;
A seguir adelante!