Foros aprenderaprogramar.com
		Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: mary conchis en 20 de Junio 2018, 04:40
		
			
			- 
				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"); }
 }
 }
 }
- 
				Hola Mari Conchis.
 
 El ejercicio esta bien resuelto y el bucle while responde bien.
 
 Hay muchas formas de solucionarlo y una de ellas es como tu lo has hecho yo lo hice  de otra manera pero el resultado final es el mismo.
 Te pego el código para que lo veas.
 public class TestListaCantantesFamosos {
 public static void main (String [ ] args) {
 System.out.print ("EjercicioCU00666B\n\n");
 System.out.print ("Introduzca nombres de cantantes.\nPara finalizar Pulse INTRO solamente\n\n");
 System.out.print ("****************Empezamos el programa**************\n");
 String fuera;// Cadena para comparar si es espacio vacio
 boolean fin=false;// Variable booleana si es true finaliza el programa
 ListaCantantesFamosos lista1 = new ListaCantantesFamosos("Nombres introducidos por usuario");
 System.out.println ("La lista esta formada por " + lista1.getTamaño() + " elementos");
 lista1.mostrarCantantes();
 do
 {
 System.out.println ("Por favor introduzca un nombre (INTRO PARA FINALIZAR):");
 EntradaDeTeclado entrada1 = new EntradaDeTeclado();
 System.out.print('\u000C');
 fuera=entrada1.getEntrada();//Variable que de cadena para sacar la entrada por teclado
 fin=fuera.substring(0,entrada1.getLongitud ()).equals("");//Si es espacio vacio para salir del bucle
 if(fin==false){ // Si es espacio vacio no se graba la ultima entrada y se sale del bucle
 lista1.addNombre (entrada1.getEntrada() );
 System.out.println ("Lista actualizada con :" + lista1.getTamaño() + " elementos\n INTRO PARA FINALIZAR");
 lista1.mostrarCantantes();
 }
 
 }while(!fin);
 
 System.out.print('\u000C');// Borrar pantalla en windows
 System.out.print ("******************* Gracias ************************\n\n");
 
 System.out.println ("La lista ha quedado formada por " + lista1.getTamaño() + " elementos");
 lista1.mostrarCantantes();
 System.out.print ("\n*****************FIN DEL PROGRAMA ************************");
 } //Cierre del main
 
 } //Cierre de la clase
 
 Un saludo ;)