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.
Solucion:
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 Cantantes){
listadenombres.add("Dany Worsnop");
listadenombres.add("Vic Fuentes");
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.addNombre(entrada4.getEntrada());
lista1.addNombre(entrada5.getEntrada());
System.out.println("ARTISTAS FAMOSOS"+"\n"+"1."+lista1.getNombre(0)+"\n"+"2."+lista1.getNombre(1)+"\n"+"3."+lista1.getNombre(2)+"\n"+"4."+lista1.getNombre(3)+"\n"+"5."+lista1.getNombre(4));
}
}
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}