Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Amateu en 15 de Abril 2016, 09:06
-
Me he permitido utilizar el método entrada de teclado de la lección. No la incluyo, pero si hace falta la añado. Estas son las otras dos clases que he utilizado
/**
* Ejercicio CU00665B
* Crea una lista con tres cantantes famosos
* Clase 1/3
*
* @author Amateu
* @version 0
*/
import java.util.ArrayList;
public class ListaCantantesFamosos{
private ArrayList<String> listadeCantantes; //Declaramos un ArrayList que contiene objetos String
public ListaCantantesFamosos () { //Constructor: crea una lista de nombres vacía
listadeCantantes = new ArrayList<String>(); //Creamos el objeto de tipo ArrayList
listadeCantantes.add ("LLuis LLach");
listadeCantantes.add ("Jose Luis Perales");
listadeCantantes.add ("Manolo Escobar");
} //Cierre del constructor
public void addNombre (String valor_nombre) {
listadeCantantes.add (valor_nombre); } //Cierre del método addNombre
public String getNombre (int posicion) { //Método
if (posicion >= 0 && posicion < listadeCantantes.size() ) {
return listadeCantantes.get(posicion); }
else { return "No existe nombre de cantante famoso para la posición solicitada";}
} //Cierre del método getNombre
public int getTamaño () { return listadeCantantes.size(); } //Cierre del método getTamaño
public void removeNombre (int posicion) { //Método
if (posicion >= 0 && posicion < listadeCantantes.size() ) {
listadeCantantes.remove(posicion); }
else { }
} //Cierre del método removeNombre
} //Cierre de la clase
/**
* Ejercicio CU00665B
* Programa main que añade por teclado dos cantantes a la lista de cantantes famosos
* Clase 2/3
*
* @author Amateu
* @version 0
*/
public class TestListaCantantesFamosos
{
public static void main (String [ ] args) {
ListaCantantesFamosos listaCantantes = new ListaCantantesFamosos();
System.out.println ("Ud. va a añadir a la lista de Cantantes Famosos dos nombres más.");
System.out.println ("Por favor introduzca un nombre de cantante a añadir:");
EntradaDeTeclado cantante1 = new EntradaDeTeclado();
System.out.println ("Por favor introduzca otro nombre de cantante:");
EntradaDeTeclado cantante2 = new EntradaDeTeclado();
System.out.println ("Gracias");
listaCantantes.addNombre (cantante1.getEntrada() );
listaCantantes.addNombre (cantante2.getEntrada() );
System.out.println ("La lista ha quedado formada por " + listaCantantes.getTamaño() + " nombres de cantantes:");
for (int i = 0; i < listaCantantes.getTamaño(); i++){
System.out.println ("Cantante nº " + (i+1) +": " + listaCantantes.getNombre(i) );
}
} //Cierre del main
}
Gracias de antemano.
-
Hola Amateu, para poder revisar los ejercicios necesitamos todo el código que se haya utilizado para poder compilarlo (incluso aunque se trate del mismo código que se dé en la lección o incluso si se trata del mismo código que se ha utilizado en otro ejercicio previo) de ese modo podemos compilar directamente el mismo código sin tener que recurrir a búsquedas que harían más difícil la revisión y más fácil que hubiera errores o malosentendidos.
Saludos
-
Añado la clase que faltaba
/**
* Ejercicio CU00665B
* clase heredada de aprenderaprogramar.com
* que utiliza el programa main para coger las entradas por teclado
* Clase 3/3
*
* @author aprenderaprogramar.com
*
*/
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 instancia (campo) de la 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
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; //Caso de que no se detecte ningún espacio devolvemos lo que haya
} //Cierre del método getPrimeraPalabra
public int getLongitud () { //Método de la clase
return entradaTeclado.length();
} //Cierre del método getLongitud
} //Cierre de la clase
y disculpadme.
-
Hola Amateu el ejercicio está muy bien resuelto.
Recomendamos no usar eñes ni tildes como nombres de métodos o de clases. getTamaño sería getTamanno. Aunque Java lo admita lo recomendamos para no tener problemas a posteriori.
Saludos