Autor Tema: Java for extendidio o bucle for each distintos planteamientos CU00666B  (Leído 2750 veces)

Chompy129

  • Intermedio
  • ***
  • Mensajes: 130
  • Programar es divertido. :)
    • Ver Perfil
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)
Código: [Seleccionar]
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)
Código: [Seleccionar]
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

« Última modificación: 22 de Diciembre 2016, 19:13 por Alex Rodríguez »

ESOJ

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 143
    • Ver Perfil
Re:Java. for extendidio o bucle for each. Ejercicio CU00666B
« Respuesta #1 en: 18 de Diciembre 2016, 10:26 »
Buenos días.
Tu ejercicio es correcto.

Aqui te dejo otra forma de hacerlo:
Código: [Seleccionar]
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++;
        }
    } 
}
Código: [Seleccionar]
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");       
    }
}

Chompy129

  • Intermedio
  • ***
  • Mensajes: 130
  • Programar es divertido. :)
    • Ver Perfil
Re:Java. for extendidio o bucle for each. Ejercicio CU00666B
« Respuesta #2 en: 18 de Diciembre 2016, 22:20 »
Gracias ESOJ por revisar el ejercicio. :D

También por compartir otra forma de hacerlo. :)

También te envió un saludo.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".