Autor Tema: Java eficiencia en código Clase ArrayList, métodos add, size, etc. CU00665B  (Leído 3295 veces)

Chompy129

  • Intermedio
  • ***
  • Mensajes: 130
  • Programar es divertido. :)
    • Ver Perfil
Clase ArrayList del api Java. Métodos add, size, etc. Concepto de clase genérica o parametrizada (CU00665B)

Aquí les dejo el ejercicio CU00665B del curso básico de programación en lenguaje Java:

Código Java 1 (ListaCantantesFamosos)
Código: [Seleccionar]
import java.util.ArrayList;

/**
 * Contiene una lista de cantantes famosos.
 * @author Chompy129
 * @version 1.0
 */
public class ListaCantantesFamosos{
private String nombreDeLista;
private ArrayList<String> listaDeCantantes;

public ListaCantantesFamosos(){
this.nombreDeLista= "Cantantes de POP";
listaDeCantantes= new ArrayList<String>(3);

listaDeCantantes.add("Michael Jackson");
listaDeCantantes.add("Rihanna");
listaDeCantantes.add("Shakira");
}

//Metodos set
public void setNombreDeLista(String nombreDeLista){
this.nombreDeLista= nombreDeLista;
}

public void cambiarCantante(int numeroCantante, String cantanteNuevo){
listaDeCantantes.set(numeroCantante, cantanteNuevo);
}

public void colocarCantante(String cantanteNuevo){
listaDeCantantes.add(cantanteNuevo);
}

//Metodos get
public String getNombreCantante(int numeroCantante){
return listaDeCantantes.get(numeroCantante);
}

public int getCantidadCantantes(){
return listaDeCantantes.size();
}
public String getNombreDeLista(){
return nombreDeLista;
}
}

Código Java 2 (TestListaCantantesFamosos)
Código: [Seleccionar]
import java.util.Scanner;
/**
 * Testea el funcionamiento de la clase ListaCantantesFamosos.
 * @author Chompy129
 * @version 1.0
 */
public class TestListaCantantesFamosos{
    public static void main(String[] args){
    Scanner entradaScanner= new Scanner(System.in);
    ListaCantantesFamosos lista1= new ListaCantantesFamosos();

    System.out.println("Inicia el programa.");
    for(int i= 0; i != 2; i++){
    System.out.println("Introduce a la lista un nuevo cantante: ");
    lista1.colocarCantante(entradaScanner.nextLine());
    }

    //El bucle se encarga de mostrar cada uno de los cantantes
    System.out.print("Los elementos de la lista son: ");
    for(int i= 0; i < lista1.getCantidadCantantes(); i++){
    if(i== lista1.getCantidadCantantes()-1){
    System.out.println(lista1.getNombreCantante(i) + ".");
    }
    else{
    System.out.print(lista1.getNombreCantante(i) + ", ");
    }
    }//Cierre de bucle

    }//Cierre de metodo main
}


Link de la clase: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=631:clase-arraylist-del-api-java-metodos-add-size-etc-concepto-de-clase-generica-o-parametrizada-cu00665b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188
« Última modificación: 21 de Diciembre 2016, 19:46 por Alex Rodríguez »

ESOJ

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 143
    • Ver Perfil
Re:Java.
« Respuesta #1 en: 17 de Diciembre 2016, 09:54 »
Buenos días.
En el ejercicio te pedía:
Citar
Crea una clase denominada ListaCantantesFamosos que al ser inicializada contenga un ArrayList con tres Strings que sean el nombre de cantantes famosos.
con lo que con:
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 ArrayList<String> getListaCantantesF(){
        return listaCantantesF;}
}
sería suficiente.

Luego pedía:
Citar
Crea una clase test con el método main que inicialice un objeto ListaCantantesFamosos, pida dos cantantes famosos más al usuario, los añada a la lista y muestre el contenido de la lista por pantalla.
Código: [Seleccionar]
import java.util.Scanner;
import java.util.ArrayList;
public class TextListaCantantesFamosos2{   

    public static void main (String [] args){
        String nuevoCantante;
        Scanner entradaEscaner = new Scanner (System.in);
        /* ListaCantantesFamosos1 listaCantantesFamosos=new ListaCantantesFamosos1();
        ArrayList<String> lista=new  ArrayList<String>();
        lista=listaCantantesFamosos.getListaCantantesF();*/

        //La siguiente línea equivale a las 3 anteriores
        ArrayList<String> lista=new ListaCantantesFamosos1().getListaCantantesF();
        System.out.println ("Empezamos el programa");   
        int resp=0;
        while (resp<2) {
            System.out.println ("Por favor escriba el nombre de un cantante famoso");           
            nuevoCantante = entradaEscaner.nextLine ();
            lista.add(nuevoCantante);                       
            resp++;
        }
        for(int i= 0; i <lista.size(); i++){
            System.out.println(lista.get(i));
        }
        System.out.println ("Adios");
    }
}
Un saludo

Chompy129

  • Intermedio
  • ***
  • Mensajes: 130
  • Programar es divertido. :)
    • Ver Perfil
Java. clase ArrayList. metodos add, size, etc. Ejercicio CU00665B
« Respuesta #2 en: 17 de Diciembre 2016, 21:46 »
Ok. tal vez puse código de mas, pero el ejercicio cumple su cometido ¿no?

Por cierto olvide colocar el titulo.  :P

ESOJ

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 143
    • Ver Perfil
Re:Java.
« Respuesta #3 en: 17 de Diciembre 2016, 21:51 »
Si que da el resultado,pero tambien es conveniente buscar
eficiencia en el codigo
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".