Autor Tema: Ejercicio CU00666B for each java ejemplo for extendido  (Leído 2711 veces)

el_calderas

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 43
    • Ver Perfil
Ejercicio CU00666B for each java ejemplo for extendido
« en: 24 de Febrero 2015, 21:54 »
Hola.
Aqui mando los codigos de este ejercicio. La verdad es que lo veo muy repetitivo en la clase del main y ademas, me ha costado mucho ver como implementar la elección con un while....se hace, pero no me gusta como ha quedado. Pero no se me ocurre otra forma de hacerlo. Me vendrian bien algunas sujerencias.
Un saludo.

Código: [Seleccionar]
import java.util.ArrayList;

public class ListaCantantesFamosos
{
    private String nombreLista;//establecemos un atributo nobre de la lista
    private ArrayList<String> listaCantantes;//declaramos un ArrayList que contiene objetos Strnig
   
    public ListaCantantesFamosos(String nombre){
        nombreLista=nombre;
        listaCantantes=new ArrayList<String>();//creamos el objeto de tipo ArrayList
       
        listaCantantes.add("Madonna");
        listaCantantes.add("Queen");
        listaCantantes.add("Bruce Springsteen");
       
    }
   
    public void addNombre(String nombre){
        listaCantantes.add(nombre);
    }
    public String getNombre(int posicion){//metodo para obtener un nombre de la lista, segun su indicie
        if(posicion>=0 && posicion<listaCantantes.size()){
            return listaCantantes.get(posicion);
        }else{
            return "No existe nombre para la posición solicitada";
        }
    }
   
    public void listarNombres(){
        for (String nombre:listaCantantes){
            System.out.println(nombre);
        }
    }
   
}

Código: [Seleccionar]
import java.util.Scanner;

public class testListaCantantes
{
    public static void main(String[]args){
        ListaCantantesFamosos lista=new ListaCantantesFamosos("Lista cantantes");
        lista.addNombre("Bon Jovi");//añado un mobre mas a la lista...probando...

        System.out.println("La lista esta formada por estos nombres:");
        lista.listarNombres();

        System.out.println("Introducir un nuevo nombre a la lista");
        Scanner sc=new Scanner(System.in);
        String newNombre=sc.nextLine();
        lista.addNombre(newNombre);
        System.out.println("La lista esta formada por estos nombres:");
        lista.listarNombres();

        boolean aux=true;
        while(aux==true){
            System.out.println("¿Quieres introducir más nombres? S/N");
            String eleccion=sc.nextLine();

            if(eleccion.equalsIgnoreCase("S")){//equalsIgnoreCase es el metodo para comparar sin tener en cuenta si es mayusculas o minusculas
                System.out.println("Introducir un nuevo nombre a la lista");
                String newN=sc.nextLine();
                lista.addNombre(newN);

                System.out.println("La lista esta formada por estos nombres:");
                lista.listarNombres();
                aux=true;
            }else{
                aux=false;//siempre que la respuesta no sea S, se saldra del programa.
            }

        }

    }
}

« Última modificación: 25 de Febrero 2015, 08:36 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2662
    • Ver Perfil
Re:Ejercicio CU00666B for each java ejemplo for extendido
« Respuesta #1 en: 25 de Febrero 2015, 08:40 »
Hola, el código lo veo bien planteado y la elección en el while está bien planteada en el while (puedes ver que es una solución habitual, por ejemplo aquí también se usa: www.aprenderaprogramar.com/foros/index.php?topic=1552). La sugerencia es que sigas avanzando con el curso porque esto está bien! Salu2

 

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".