Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: dreamcatcher en 12 de Septiembre 2015, 14:35
-
Hola, ¿podrían comprobar si mi ejercicio está bien resuelto?
Clase 1:
import java.util.ArrayList;
public class ListaCantantes {
private String nombreDeLaLista; //Atributo que da nombre a la lista
private ArrayList<String> listadecantantes; //Declaración de un ArrayList que contiene objetos String
public ListaCantantes (String nombre) { //Constructor: con nombres predeterminados
nombreDeLaLista = "Cantantes";
listadecantantes = new ArrayList<String>();
listadecantantes.add ("Julian Casablancas");
listadecantantes.add ("Bono");
listadecantantes.add ("Hayley Williams");
} //Cierre del constructor
public void addNombre (String valor_nombre) { listadecantantes.add (valor_nombre); }
public String getNombre (int posicion) {
return listadecantantes.get(posicion);
}
} //Cierre del método
Clase 2:
import java.util.Scanner;
public class TestListaCantantes {
public static void main (String [ ] args) {
String entrada1 = "";
String entrada2 = "";
System.out.println ("Empezamos el programa");
Scanner entradaEscaner = new Scanner (System.in);
//Se piden dos cantantes más
System.out.println ("Por favor introduzca cantante 1:"); entrada1 = entradaEscaner.nextLine();
System.out.println ("Por favor introduzca cantante 2:"); entrada2 = entradaEscaner.nextLine();
System.out.println ("Gracias");
ListaCantantes listadecantantes = new ListaCantantes("Nombres introducidos por usuario");
//Se añaden los dos nuevos cantantes a la lista
listadecantantes.addNombre (entrada1);
listadecantantes.addNombre (entrada2);
//Se muestra el contenido de la lista por pantalla
System.out.println ("Cantante 1: " + listadecantantes.getNombre (0) );
System.out.println ("Cantante 2: " + listadecantantes.getNombre (1) );
System.out.println ("Cantante 3: " + listadecantantes.getNombre (2) );
System.out.println ("Cantante 4: " + listadecantantes.getNombre (3) );
System.out.println ("Cantante 5: " + listadecantantes.getNombre (4) );
} //Cierre del main
} //Cierre de la clase
-
Hola dreamcatcher.
Tu código realiza lo que pide el ejercicio, así que está bien aunque se podría mejorar ya que repites muchas lineas código.
Sería aconsejable que vieras este enlace:
https://www.aprenderaprogramar.com/foros/index.php?topic=1549.msg8169#msg8169
Y luego intentases resolver el ejercicio otra vez siguiendo los comentarios que podrás leer en ese post.
Saludos.
-
Muchas gracias, así quedaría el ejercicio después de rehacerlo:
Clase 1:
import java.util.ArrayList;
public class ListaCantantes {
private ArrayList<String> listadecantantes; //Declaración de un ArrayList que contiene objetos String
public ListaCantantes () { //Constructor: con nombres predeterminados
listadecantantes = new ArrayList<String>();
listadecantantes.add ("Julian Casablancas");
listadecantantes.add ("Bono");
listadecantantes.add ("Hayley Williams");
} //Cierre del constructor
public ArrayList<String> getListadecantantes(){
return listadecantantes;
}
public void addNombre (String nombre) { listadecantantes.add (nombre); }
public String getNombre (int posicion) {
return listadecantantes.get(posicion);
}
public int getTamaño(){
return listadecantantes.size();
}
} //Cierre del método
Clase 2:
import java.util.Scanner;
public class TestListaCantantes {
public TestListaCantantes(){
}
public static void main (String [ ] args) {
Scanner escaner = new Scanner(System.in);
ListaCantantes list = new ListaCantantes();
System.out.print("Esta lista contiene " + list.getTamaño() + " nombres de cantantes, por favor escribe 2 nombres mas para completar el top 5 de la semana.\n\n");
//Se piden dos cantantes más
System.out.println("Por favor, escriba el nombre de dos cantantes más");
for(int i = 0; i < 2; i++)
{System.out.print("Escriba el cantante famoso numero " + (list.getTamaño() + 1 )+ ": ");
list.addNombre(escaner.nextLine());
}
System.out.println ("Gracias");
//Se muestra el contenido de la lista por pantalla
System.out.println ("\nLa lista resultante de cantantes es:\n " + list.getListadecantantes());
} //Cierre del main
} //Cierre de la clase
Saludos!
-
Ahora todo bien. ;)
Saludos y a seguir adelante.