Esta es mi solucion al ejercicio CU00666B sobre el uso de la clase ArrayList y sus metodos. Creo que funciona
EJERCICIO
Crea una clase denominada ListaCantantesFamosos que al ser inicializada contenga un ArrayList con tres Strings que sean el nombre de cantantes famosos. 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. Puedes comprobar si tu código es correcto consultando en los foros aprenderaprogramar.com.
Clase EntradaDeTeclado
import java.util.Scanner;
//Importacion del codigo de la clase Scanner desde la bibliotaca Java
//Definimos una clase EntradaDeTeclado aprenderaprogramar.com
public class EntradaDeTeclado{
private String entradaTeclado;//Variable de instancia(campo)de la clase
public EntradaDeTeclado(){//Constructor
entradaTeclado="";
pedirEntrada();//Esto es una llamada a un metodo interno.Al crear un objeto ejecutamos ep metodo
}//Cierre del constructor
public void pedirEntrada(){//Metodo de la clase
Scanner entradaEscaner=new Scanner(System.in);
entradaTeclado=entradaEscaner.nextLine();}//Cierre del metodo pedirEntrada
public String getEntrada(){
return entradaTeclado;}//Cierre del metodo getEntrada
public String getPrimerPalabra(){
/*IMPORTANTE: EN JAVA LOS OBJETOS NO SE PUEDEN COMPARAR USANDO== POR ESO ESTO NO FUNCIONARA
if(entradaTeclado.substring(0,1)=="j"{
system.out.println("Hemos detectado una j");}
else{system.out.println("Mira esto:"entradaTeclado.substring(0,1));}*/
for(int i=0;
i<entradaTeclado.length()-i;
i++){
if (entradaTeclado.substring(i,i+1).equals(" ") ){
//IMPORTANTISIMO: COMPARAMOS CON EQUALS
return entradaTeclado.substring(0,i+1);
}
}return entradaTeclado;//Caso de que no se detecte un ningun espacio devolvemos lo que haya
}//Cierre del metodo getPrimerPalabra
public int getLongitud(){
//Metodo de la clase
return entradaTeclado.length();
}//Cierre del metodo getLongitud
}//Cierre de la clase}
Clase ListaCantantesFamosos
import java.util.*;
public class ListaCantantesFamosos{
private String nombreDeLaLista;
private ArrayList<String> listadenombres;
public ListaCantantesFamosos (String nombre){
nombreDeLaLista=nombre;
listadenombres=new ArrayList<String>();
}
public void addCantante1(String valor_cantante1){listadenombres.add("Dany Worsnop");}
public void addCantante2(String valor_cantante2){listadenombres.add("Vic Fuentes");}
public void addCantante3(String vapor_cantante3){listadenombres.add("Oliver Sykes");}
public void addNombre(String valor_nombre){listadenombres.add(valor_nombre);}
public String getNombre(int posicion){if(posicion>=0 && posicion<listadenombres.size()){return listadenombres.get(posicion);}
else{return "No existe nombre para la posicion solicitada";}
}
}
Clase TestListaCantantesFamosos
import java.util.*;
public class TestListaCantantesFamosos{
public static void main(String []args){
System.out.println("Empezamos el programa");
System.out.println("Introduzca el nombre de dos cantantes famosos");
EntradaDeTeclado entrada4=new EntradaDeTeclado();
EntradaDeTeclado entrada5=new EntradaDeTeclado();
System.out.println("Gracias");
ListaCantantesFamosos lista1=new ListaCantantesFamosos("Cantantes");
lista1.addCantante1("");
lista1.addCantante2("");
lista1.addCantante3("");
lista1.addNombre(entrada4.getEntrada());
lista1.addNombre(entrada5.getEntrada());
System.out.println("ARTISTAS FAMOSOS"+"\n"+lista1.getNombre(0)+"\n"+lista1.getNombre(1)+"\n"+lista1.getNombre(2)+"\n"+lista1.getNombre(3)+"\n"+lista1.getNombre(4));
}
}
Muchas Gracias.