Autor Tema: Ejemplo ejercicio For extendido Java clase con ArrayList CU00666B  (Leído 2630 veces)

Javieerg

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 13
    • Ver Perfil
Este es mi código para el ejercicio CU00666B del curso. Batallé bastante, quisiera lo revisaran y me aconsejaran un poco, gracias.

Clase con arraylist:

Código: [Seleccionar]
import java.util.ArrayList;
import java.util.Scanner;
public class ListaCantantesFamosos2{
   
    private String nombre;
    private ArrayList<String> listaCantantes;
   
    //ArrayList
    public ListaCantantesFamosos2(){//ArrayList;
       
        listaCantantes = new ArrayList<String>();
        listaCantantes.add("Jose Jose");
        listaCantantes.add("Luis Miguel");
        listaCantantes.add("Enrique Iglesias");
    }
   
    //Teclado
    public void Teclado(){
   
        Scanner escaner = new Scanner(System.in);
        nombre = escaner.nextLine();
    }
   
    //Agregar
    public void addName(String valorName){
   
        listaCantantes.add(valorName);
    }
   
    //Mostrar
    public String getName(){return nombre;}
   
    //Listar
    public void crearLista(){
       
        int i = 0;
        for(String nombre: listaCantantes){
            System.out.println("Cantante: " +nombre);i++;
        }
    }
}
   


Clase main

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

public class TestForExtendido2{

    public static void main(String []args){

        System.out.println("Comenzando lista de cantantes");
        //Inicializando objeto
        ListaCantantesFamosos2 Cantantes = new ListaCantantesFamosos2();
        Cantantes.crearLista();
        System.out.println("Agregue otro cantante por favor");
        Cantantes.Teclado();
        Cantantes.addName(Cantantes.getName());
        System.out.println("Se ha añadido otro cantante a la lista");
        Cantantes.crearLista();
        String respuesta = "";
        Scanner escaner = new Scanner(System.in);
        do {
            System.out.println("Desea añadir otro cantante? S/N");
            respuesta = escaner.nextLine();
            if (respuesta.substring(0,1).equalsIgnoreCase("s")){
                System.out.println("Añade cantante:");
                Cantantes.Teclado();
                Cantantes.addName(Cantantes.getName());
                Cantantes.crearLista();
            } else if (respuesta.substring(0,1).equalsIgnoreCase("n")){
            System.out.println("Gracias");
            } else {
                System.out.println("Respuesta invalida");
               
            }
        } while (!respuesta.substring(0,1).equalsIgnoreCase("s"));
        System.out.println("Fin del programa");
    }
}
« Última modificación: 05 de Diciembre 2015, 11:53 por Alex Rodríguez »

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:CU00666B For extendido.
« Respuesta #1 en: 23 de Octubre 2015, 23:03 »
Hola Javieerg.

En la clase listaCantantesFamosos2, decirte que tendrías que cambiar algunas cosas, para empezar habría que quitar el método Teclado, ya creas un objeto Scanner en la clase del main, no es necesarios que crees otro en esta clase.

El método crearLista() se debería llamar mostrarLista() o algo parecido, porque es de lo que se encarga, de enseñar el contenido del ArrayList que hemos creado en el constructor de la clase, también en ese método usas i = 0, cosa que no usas posteriormente para nada.

En la clase Test
Según tienes la clase test ahora, después de añadir un cantante nuevo, cuando te pregunta "Desea añadir otro cantante? S/N", si respondemos que no, no hace caso y sigue preguntando lo mismo.

He realizado algunos cambios en tu código quedando así:

Clase ListaCantantesFamosos2()
Código: [Seleccionar]
import java.util.ArrayList;
public class ListaCantantesFamosos2{
    private ArrayList<String> listaCantantes;   
    //ArrayList
    public ListaCantantesFamosos2(){//ArrayList;
        listaCantantes = new ArrayList<String>();
        listaCantantes.add("Jose Jose");
        listaCantantes.add("Luis Miguel");
        listaCantantes.add("Enrique Iglesias");
    }   
    //Agregar
    public void addName(String valorName){
        listaCantantes.add(valorName);
    }
    public void mostrarLista(){
        for(String nombreCantante: listaCantantes){
            System.out.println("Cantante: " +nombreCantante);
        }
    }
}

y la clase Test
Código: [Seleccionar]
import java.util.Scanner;
public class TestForExtendido2{
    public static void main(String []args){
        System.out.println("Comenzando lista de cantantes");
        ListaCantantesFamosos2 nuevoCantante = new ListaCantantesFamosos2();
        nuevoCantante.mostrarLista();
        String respuesta = "";
        Scanner escaner = new Scanner(System.in);
        do {
            System.out.println("Agregue otro cantante por favor");
            nuevoCantante.addName(escaner.nextLine());
            System.out.println("Se ha añadido otro cantante a la lista");
            nuevoCantante.mostrarLista();
            System.out.println("Desea añadir otro cantante? S/N");
            respuesta = escaner.nextLine();
            while(!respuesta.equalsIgnoreCase("s") && !respuesta.equalsIgnoreCase("n")){
                System.out.println("Respuesta invalida");
                System.out.println("Desea añadir otro cantante? S/N");
                respuesta = escaner.nextLine();
            }
        } while (respuesta.equalsIgnoreCase("s"));
        System.out.println("Fin del programa");
    }
}

Espero que te sirva de ayuda.

Saludos.


CarlosAndres21

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 12
    • Ver Perfil
Re:Ejemplo ejercicio For extendido Java clase con ArrayList CU00666B
« Respuesta #2 en: 03 de Diciembre 2015, 22:50 »
Buenos Dias.
Este codigo no lo he hecho pero estaba intentando resolver el ejercicio y la verdad no se me ocurrio usar el metodo .EqualsIgnoreCase().
Quisiera saber como funciona este metodo.

 

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