Buenas noches.
Aquí dejo una posible solución del ejercicio CU00665B del curso Java desde cero.
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.
Código de clase "ListaCantantesFamosos":
import java.util.ArrayList;
public class ListaCantantesFamosos{
private ArrayList<String> listacantantesfamosos;
public ListaCantantesFamosos(){
listacantantesfamosos = new ArrayList<String>();
listacantantesfamosos.add("Joan Bon Jovi");
listacantantesfamosos.add("Michael Jackson");
listacantantesfamosos.add("Julio Iglesias");
}
public void addNombre(String valor_nombre){
listacantantesfamosos.add(valor_nombre);
}
public String getNombre(int posicion){
if(posicion >=0 && posicion<listacantantesfamosos.size()){
return listacantantesfamosos.get(posicion);
}else{return "No existe cantante para la posición solicitada";}
}
public int getTamaño(){return listacantantesfamosos.size();}
}
Código de la clase "EntradaDeTeclado":
import java.util.Scanner; //Importación del código de la clase Scanner desde la biblioteca Java
//Definimos una clase EntradaDeTeclado aprenderaprogramar.com
public class EntradaDeTeclado{
private String entradaTeclado; //Variable de instrancia (campo) de clase
public EntradaDeTeclado(){ //Constructor
entradaTeclado = "";
pedirEntrada(); //Esto es una llamada a un método interno. Al crear un objeto ejecutamos el método
} //Cierre del constructor
public void pedirEntrada(){ //Método de la clase
Scanner entradaEscaner = new Scanner(System.in);
entradaTeclado = entradaEscaner.nextLine();
} //Cierre del método pedirEntrada
public String getEntrada(){return entradaTeclado;} //Cierre del método getEntrada
} //Cierre de la clase
Clase "Test":
public class Test{
public static void main(String []args){
System.out.println("Introduzca nombre de un cantante famoso:");
EntradaDeTeclado entrada1 = new EntradaDeTeclado();
System.out.println("Introduzca nombre de otro cantante famoso:");
EntradaDeTeclado entrada2 = new EntradaDeTeclado();
ListaCantantesFamosos lista1 = new ListaCantantesFamosos();
lista1.addNombre(entrada1.getEntrada());
lista1.addNombre(entrada2.getEntrada());
for(int i=0;i<lista1.getTamaño();i++){
System.out.println("El cantante "+(i+1)+" es: "+lista1.getNombre(i));
}
}
}