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 ;)