Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Pandemia en 30 de Agosto 2016, 22:49
-
Buenas aquí dejo una posible solución al ejercicio CU00665B del tutorial de programador Java.....
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.
CÓDIGOS
/**
*Ejercicio CU00665B del curso de java desde cero de aprenderaprogramar.com.
*Version 0.1.
*Realizado por Pandemia
*/
import java.util.ArrayList;
public class ListaCantantesFamosos
{
private String nombreDeCantantes;
private ArrayList<String> listaDeCantantes;
//Constructor
public ListaCantantesFamosos (String nombre){
nombreDeCantantes = nombre;
listaDeCantantes = new ArrayList<String>();
}//cierre del constructor
//Agregar nombre a la lista
public void addNombre (String valorNombre){listaDeCantantes.add(valorNombre);}
//getter tamaño de la lista de cantantes
public int getCantidadDeCantantes (){return listaDeCantantes.size();}
//getter nombres
public String getNombreDeCantante(int numero){return listaDeCantantes.get(numero);}
}//cierre de la clase
/**
*Ejercicio CU00665B del curso de java desde cero de aprenderaprogramar.com.
*Version 0.1.
*Realizado por Pandemia
*/
public class TestListaDeCantantesFamosos
{
public static void main (String [ ] args){
System.out.println("inicio del programa");
System.out.println("Por favor, introduzca el nombre del cantante numero 1: ");
EntradaDeTeclado cantante1 = new EntradaDeTeclado();
System.out.println("Por favor, introduzca el nombre del cantante numero 2: ");
EntradaDeTeclado cantante2 = new EntradaDeTeclado();
System.out.println("Gracias por su colaboración");
ListaCantantesFamosos listadoDeCantantes = new ListaCantantesFamosos("Cantantes Famosos");
// Agregado de 3 cantantes.
listadoDeCantantes.addNombre("Beyoncé");
listadoDeCantantes.addNombre("Leiva");
listadoDeCantantes.addNombre("Enrique Iglesias");
// Pedido de dos nombres al usuario.
listadoDeCantantes.addNombre (cantante1.getEntrada() );
listadoDeCantantes.addNombre (cantante2.getEntrada() );
System.out.println ("\nLa lista ha quedado formada por " + listadoDeCantantes.getCantidadDeCantantes() + " famosos");
for (int i = 0; i < listadoDeCantantes.getCantidadDeCantantes(); i++){
System.out.println ("\nCantante o Grupo de música " + (i +1)+ ": " + listadoDeCantantes.getNombreDeCantante(i) );
}
}//Cierre del main
}//Cierre de la clase
/**
*Ejercicio CU00665B del curso de java desde cero de aprenderaprogramar.com.
*Version 0.1.
*Realizado por Pandemia
*/
import java.util.Scanner;
public class EntradaDeTeclado {
private String entradaTeclado;
//constructor
public EntradaDeTeclado () {
entradaTeclado="";
pedirEntrada();
} //Cierre del constructor
//Métodos
public void pedirEntrada () {
Scanner entradaEscaner = new Scanner (System.in);
entradaTeclado = entradaEscaner.nextLine ();
}//cierre de método
public String getEntrada () { return entradaTeclado; }//cierre de método
public String getPrimeraPalabra () {
for (int i=0; i < entradaTeclado.length() - 1; i++) {
if (entradaTeclado.substring (i, i+1).equals(" ") ) {
return entradaTeclado.substring(0, i+1); }
}
return entradaTeclado;
}//cierre de método
public int getLongitud () {
return entradaTeclado.length();
}//cierre de método
}//cierre de la clase
Saludos y gracias por vuestro tiempo..... :D
-
Hola! El ejercicio pide que cuando se inicialice un objeto ListaCantantesFamosos, este contenga un ArrayList con tres Strings que sean el nombre de cantantes famosos. Eso no lo cumples en tu código.
Hay otra cosa que resulta extraña, en un objeto ListaCantantesFamosos, ¿para qué has añadido el atributo private String nombreDeCantantes;? Es decir, que no sé qué significado o para qué sirve ese atributo.
Consulta otras respuestas a este ejercicio en los foros, te serán útiles.
Saludos!