Hola Javieerg.
En la clase listaCantantesFamosos2, decirte que tendrías que cambiar algunas cosas, para empezar habría que quitar el método Teclado, ya creas un objeto Scanner en la clase del main, no es necesarios que crees otro en esta clase.
El método crearLista() se debería llamar mostrarLista() o algo parecido, porque es de lo que se encarga, de enseñar el contenido del ArrayList que hemos creado en el constructor de la clase, también en ese método usas i = 0, cosa que no usas posteriormente para nada.
En la clase Test
Según tienes la clase test ahora, después de añadir un cantante nuevo, cuando te pregunta "Desea añadir otro cantante? S/N", si respondemos que no, no hace caso y sigue preguntando lo mismo.
He realizado algunos cambios en tu código quedando así:
Clase ListaCantantesFamosos2()
import java.util.ArrayList;
public class ListaCantantesFamosos2{
private ArrayList<String> listaCantantes;
//ArrayList
public ListaCantantesFamosos2(){//ArrayList;
listaCantantes = new ArrayList<String>();
listaCantantes.add("Jose Jose");
listaCantantes.add("Luis Miguel");
listaCantantes.add("Enrique Iglesias");
}
//Agregar
public void addName(String valorName){
listaCantantes.add(valorName);
}
public void mostrarLista(){
for(String nombreCantante: listaCantantes){
System.out.println("Cantante: " +nombreCantante);
}
}
}
y la clase Test
import java.util.Scanner;
public class TestForExtendido2{
public static void main(String []args){
System.out.println("Comenzando lista de cantantes");
ListaCantantesFamosos2 nuevoCantante = new ListaCantantesFamosos2();
nuevoCantante.mostrarLista();
String respuesta = "";
Scanner escaner = new Scanner(System.in);
do {
System.out.println("Agregue otro cantante por favor");
nuevoCantante.addName(escaner.nextLine());
System.out.println("Se ha añadido otro cantante a la lista");
nuevoCantante.mostrarLista();
System.out.println("Desea añadir otro cantante? S/N");
respuesta = escaner.nextLine();
while(!respuesta.equalsIgnoreCase("s") && !respuesta.equalsIgnoreCase("n")){
System.out.println("Respuesta invalida");
System.out.println("Desea añadir otro cantante? S/N");
respuesta = escaner.nextLine();
}
} while (respuesta.equalsIgnoreCase("s"));
System.out.println("Fin del programa");
}
}
Espero que te sirva de ayuda.
Saludos.