Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Chompy129 en 17 de Diciembre 2016, 06:13

Título: Java eficiencia en código Clase ArrayList, métodos add, size, etc. CU00665B
Publicado por: Chompy129 en 17 de Diciembre 2016, 06:13
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

Título: Re:Java.
Publicado por: ESOJ 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
Título: Java. clase ArrayList. metodos add, size, etc. Ejercicio CU00665B
Publicado por: Chompy129 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
Título: Re:Java.
Publicado por: ESOJ en 17 de Diciembre 2016, 21:51
Si que da el resultado,pero tambien es conveniente buscar
eficiencia en el codigo
Un saludo