Buenas!!! me tome algo de tiempo releyendo y acomodando las ideas cuanto a los objetos(que me esta costando bastante...) gracias a las correcciones y consejos dados por Jorge Lopez a mi ejercicio anterior.
Espero no haber cometido los mismos errores en este...
El ejercicio es el CU00666B del curso de Aprenda a programar en Java como si estuviera en primero.
clase de prueba
/**
 * Resolucion del ejercicio CU00666B
 * 
 * @author Hugo Segura (hymsoft)
 *
 */
public class TestCU00666B
{
    
    
    public static void main(String[] args){
        //Declaracion de variables
        String entrada1 = "";
        String respuestaUsuario = "";//para evitar confusiones con las entradas por teclado
        EntradaDeTeclado suEntrada = new EntradaDeTeclado();//Objeto para pedir el ingreso por teclado
        EntradaDeTeclado suRespuesta = new EntradaDeTeclado();
        int i = 0;//auxiliar contador
        boolean sigueCargando = true;
        boolean imprimirdenuevo = false;
        
        System.out.println("Empecemos el programa...\n\nCantantes por defecto\n");
        //Consigna 1 - Inicializo el objeto ListaCantantesFamosos y muestro los cantates por pantalla
        ListaCantantesFamosos miLista = new ListaCantantesFamosos();//objeto que guarda la lista de cantantes famosos
        miLista.imprimirListaCantantes();
                
        //Consigna 2 - Solicitar un cantante mas y despues mostrar la lista actualizada
        System.out.println("\nIngrese el nombre de otro cantante...");
        entrada1 = suEntrada.pedirEntrada();
        if(entrada1.length()== 0){
            do {
                System.out.println("Esta cadena no puede estar vacia...\npor favor ingreso el nombre de otro cantante...");
                entrada1 = suEntrada.pedirEntrada();
            }while (entrada1.length()== 0);
        }
        miLista.getListaDeNombres().add(entrada1);//Agrego el cantante
        miLista.imprimirListaCantantes();
        
        //Consigna 3 - Preguntar si se quieren añadir mas cantantes
        do{
            System.out.println("\nQuiere cargar mas cantantes?? S = Continua / Cualquier otro Cancela)");
            respuestaUsuario = suRespuesta.pedirEntrada();
            if (respuestaUsuario.equals("s")){
                System.out.println("\nIngrese el nombre de otro cantante...");
                entrada1 = suEntrada.pedirEntrada();
                if(entrada1.length()== 0){
                    do {
                        System.out.println("Esta cadena no puede estar vacia...\npor favor ingreso el nombre de otro cantante...");
                        entrada1 = suEntrada.pedirEntrada();
                    }while (entrada1.length()== 0);
                }
                miLista.getListaDeNombres().add(entrada1);//Agrego el cantante
                imprimirdenuevo = true ;//como se agrego un nuevo cantante al final de todo imprimo de nuevo el listado
            }else{
                sigueCargando = false;//para salir del do/while de carga
            }
        }while (sigueCargando);
        if (imprimirdenuevo){
            System.out.println("Lista de cantantes actualizada\n");
            miLista.imprimirListaCantantes();
        }
    }//cierre del main
}//cierre de la clase
Clase entradaTeclado (la corregida)
/**
 * Clase para manipular la entrada por teclado
 * 
 * @author Hugo Segura  corregida por Jorge Lopez de aprenderaprogramar.com
 */
import java.util.Scanner;
public class EntradaDeTeclado
{
   public EntradaDeTeclado(){}//constructor por defecto
   
   /* Este metodo retorna un String como reultado de lo ingresado
    * por el usuario mediante el teclado
    */
   public String pedirEntrada(){
       String entradaTeclado = "";
       
       Scanner entradaScanner = new Scanner(System.in);
       entradaTeclado = entradaScanner.nextLine();
       return entradaTeclado;
    }//cierre entradaTeclado
}//Cierre clase
y mi nueva clase de cantantes famosos
/**
 * Clase generica de cantantes famosos
 * 
 * @author Hugo Segura (hymsoft) corregida por Jorge Lopez de aprenderaprogramar.com
 */
import java.util.ArrayList;
import java.util.List;
public class ListaCantantesFamosos{
    //Declaracion de variables
    private List<String> listaDeNombres = new ArrayList<String>();//Array de objetos String
    
    //Constructor
    public ListaCantantesFamosos(){
        //Agrego a la lista los 3 cantantes por defecto
        listaDeNombres.add("David Gilmour");
        listaDeNombres.add("Brian Johnson");
        listaDeNombres.add("Rod Evans");
    }//Cierre del constructor
    
    public List<String> getListaDeNombres(){
        return listaDeNombres;
    }//cierre getListaDeNombres
    
    public void setListaDeNombres(List<String> listaDeNombres){
        this.listaDeNombres = listaDeNombres;
    }//cierre setListaDeNombres
    
    public void imprimirListaCantantes(){//metodo que imprime toda la lista de cantantes
        int i = 0;//auxiliar contador
        
         for (String cantantes: listaDeNombres){
            i++;
            System.out.println("Cantante " + i + ": " + cantantes);
        }//cierre for
    }//cierre imprimirListaCantantes
}//cierre clase