Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Chompy129 en 17 de Diciembre 2016, 23:32
-
El for extendido o bucles for each en Java. Ventajas e inconvenientes. Ejercicio ejemplo resuelto. (CU00666B)
Aquí les dejo el ejercicio CU00666B del curso básico de programación Java:
Código Java 1 (ListaCantantesFamosos1)
import java.util.ArrayList;
/**
* Contiene y administra una lista de cantantes famosos.
* @version 1.1
*/
public class ListaCantantesFamosos1{
private ArrayList<String> listaCantantesF;
public ListaCantantesFamosos1(){
listaCantantesF = new ArrayList<String>();
listaCantantesF.add("Michael Jackson");
listaCantantesF.add("Elvis Presley");
listaCantantesF.add("Shakira");
}
public ArrayList<String> getLista(){
return listaCantantesF;
}
public void obtenerContenidoLista(){
for(String nombre: listaCantantesF){
System.out.println("- " + nombre);
}
}
public void colocarCantante(String nuevoCantante){
listaCantantesF.add(nuevoCantante);
}
}
Código Java 2 (TestListaCantantesFamosos2)
import java.util.Scanner;
/**
* Testea el funcionamiento de la clase ListaCantantesFamosos.
* @author Chompy129
* @version 1.2
*/
public class TestListaCantantesFamosos2{
public static void main(String[] args){
ListaCantantesFamosos1 lista= new ListaCantantesFamosos1();
Scanner entradaScanner= new Scanner(System.in);
boolean seguir= true;
System.out.println("Inicia el programa");
System.out.println("La lista actual contiene: ");
lista.obtenerContenidoLista();
do{
System.out.print("\nIntrodusca un famoso mas: ");
lista.colocarCantante(entradaScanner.nextLine());
System.out.println("Lista actualizada contiene:");
lista.obtenerContenidoLista();
System.out.println("¿Quiere seguir con el programa?\n(Debe introducir \"true\" para seguir)");
if(entradaScanner.nextLine().toLowerCase().equals("true")){
seguir= true;
}
else{
System.out.println("Valor no reconocido, se interpreta como false.");
seguir=false;
}
}while(seguir == true); //Cierre de bucle do... while
System.out.println("Fin del programa");
}//Cierre de metodo main(..)
}
Link de la clase: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=632:el-for-extendido-o-bucles-for-each-en-java-ventajas-e-inconvenientes-ejercicio-ejemplo-resuelto-cu00666b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188 (https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=632:el-for-extendido-o-bucles-for-each-en-java-ventajas-e-inconvenientes-ejercicio-ejemplo-resuelto-cu00666b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188)
-
Buenos días.
Tu ejercicio es correcto.
Aqui te dejo otra forma de hacerlo:
import java.util.ArrayList;
public class ListaCantantesFamosos1{
private ArrayList<String> listaCantantesF;
public ListaCantantesFamosos1(){
listaCantantesF = new ArrayList<String>();
listaCantantesF.add("Jose Feliciano");
listaCantantesF.add("Silvio Rodriguez");
listaCantantesF.add("Manuel Garcia");
}
public void setNuevoCantante(String nuevoCantante){
listaCantantesF.add(nuevoCantante);
}
public void mostrarLista (){
int i=1;
for ( String cantante:listaCantantesF){
System.out.println ( (i)+ "- " + cantante );
i++;
}
}
}
import java.util.Scanner;
public class TextListaCantantesFamosos1{
public static void main (String [] args){
ListaCantantesFamosos1 listaCantantes=new ListaCantantesFamosos1();
Scanner entradaEscaner = new Scanner (System.in);
int resp=0;
System.out.println ("Empezamos el programa");
listaCantantes.mostrarLista();
while (resp==0) {
System.out.println ("Por favor escriba el nombre de un cantante famoso");
listaCantantes.setNuevoCantante(entradaEscaner.nextLine ());
listaCantantes.mostrarLista();
System.out.println (" Si deseas introducir otro cantante escribe Si.\nSi quieres salir pulsa intro.");
if (!entradaEscaner.nextLine ().equalsIgnoreCase("Si")){resp=1;}
}
System.out.println (" Adios");
}
}
-
Gracias ESOJ por revisar el ejercicio. :D
También por compartir otra forma de hacerlo. :)
También te envió un saludo.