Solución planteada al ejercicio CU00666B del curso de programación Java para beginners.
import java.util.ArrayList;
public class ListaCantantes
{
    private ArrayList<String> listadecantantes;
    //constructor
    public ListaCantantes()
    {
      listadecantantes= new ArrayList<String>();
      listadecantantes.add("madona");
      listadecantantes.add("shakira");
      listadecantantes.add("thalia");
      mostrarLista();
    }
     public void setNuevoCantante(String nuevoCantante){listadecantantes.add(nuevoCantante);}
     public void mostrarLista(){
       System.out.println("la lista es:");
       for(String cantante:listadecantantes){
           System.out.println(cantante);}
    }
}
tuve algunas dificultades con el while espero si este bien
import java.util.Scanner;
public class TestCantantesForExt
{
  public static void main (String [] args){
   ListaCantantes listadecantantes= new ListaCantantes();
   Scanner entradaEscaner = new Scanner (System.in);
   String respuesta="1";
   System.out.println("introduzca el nombre de otro cantante");
   listadecantantes.setNuevoCantante(entradaEscaner.nextLine());
   listadecantantes.mostrarLista();
   while(respuesta.equals("1")){
       System.out.println("si desea ingresar otro cantante ponga 1, sino ponga 2");
   respuesta=entradaEscaner.nextLine();
   if(respuesta.equals("1")){
       System.out.println("introduzca el nombre de otro cantante");
       listadecantantes.setNuevoCantante(entradaEscaner.nextLine());
       listadecantantes.mostrarLista();}
       else if(respuesta.equals("2"))
       {System.out.println("finalizo el programa");}
       else{System.out.println("entrada no valida"); }  
    }
}  
}