Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: maxplanck en 23 de Diciembre 2016, 23:13

Título: java ejercicio usar ArrayList<String> como tipo en signatura método CU00665B
Publicado por: maxplanck en 23 de Diciembre 2016, 23:13
Hola de nuevo, yo ahora liado con esto de los ArrayList pido vuestra opinión sobre mi código para este ejercicio CU00665B del curso de fundamentos de programación Java.

La primera clase, la de la lista, sería:

Código: [Seleccionar]

import java.util.*;
public class ListaCantantesFamosos {
    private ArrayList<String> lista1;
   
    public ListaCantantesFamosos () {
        lista1 = new ArrayList<String> ();
        lista1.add("Pepe"); 
        lista1.add("Juan");
        lista1.add("Jaime");
    }
   
    public String getNombre (int pos) {return lista1.get(pos);}
   
    public void addCant (String name) {lista1.add(name);}
   
    public int sizeList () {return lista1.size();}
}
       
Y la segunda, la del Test, es ésta:
Código: [Seleccionar]

import java.util.*;
public class TestListaCantantesFamosos {

    public static void main(String [] args) {
        ListaCantantesFamosos lista2 = new ListaCantantesFamosos();
        String entrada = "";
       
        System.out.println ("Por favor introduzca nombre de famoso nº 1");
        Scanner scanner1 = new Scanner (System.in);
        entrada = scanner1.nextLine ();
        lista2.addCant(entrada);
       
        System.out.println ("Por favor introduzca nombre de famoso nº 2");
        Scanner scanner2 = new Scanner (System.in);
        entrada = scanner2.nextLine ();
        lista2.addCant(entrada);
        System.out.println ("La lista contiene los nombres siguientes:");
       
        int i = 0;
        for (i = 0; i < lista2.sizeList();i++) {
            System.out.println (lista2.getNombre(i));
        }
        System.out.println ("Fin del programa");
    }
}

Gracias como siempre por vuestra ayuda. Es increible lo que conseguís con este sitio. :o
Título: Re:Código java ejercicio CU00665B
Publicado por: ESOJ en 26 de Diciembre 2016, 07:28
Buenos días.

Aquí te dejo como lo hice yo:
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;}
   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 TextListaCantantesFamosos4{
    public static void main (String [] args){ 
        ListaCantantesFamosos1 listaCantantes=new ListaCantantesFamosos1();       
        Scanner entradaEscaner = new Scanner (System.in);       

        System.out.println ("Empezamos el programa");       
        int resp=0;
        while (resp<2) {
            System.out.println ("Por favor escriba el nombre de un cantante famoso");         
            listaCantantes.setNuevoCantante(entradaEscaner.nextLine ());
            resp++;
        }
        listaCantantes.mostrarLista();
        System.out.println (" Adios");       
    }
}
Un saludo
Título: Re:Código java ejercicio CU00665B
Publicado por: maxplanck en 26 de Diciembre 2016, 10:16
Muchas gracias ESOJ, me has ayudado mucho. No se me habriá ocurrido usar ArrayList<String> como tipo en la signatura de un  método. Eso me ha hecho tener una visión nueva y entender muchas cosas. Gracias  otra vez  ;).