1
Aprender a programar desde cero / Aprender a programar desde cero / Ejercicio CU00666B for extendido o for each
« en: 25 de Marzo 2015, 21:01 »
Estimados: muchas gracias por su tiempo adjunto mi ejercicio. Y agradeceré cualquier retroalimentación.
Este es el código de la clase ListaCantantesFamosos:
Este es el código de la clase EntradaDeTeclado:
Código de la clase principal TestListaCantantesFamosos:
Muchas gracias por su tiempo. Saludos
Eduardo
Este es el código de la clase ListaCantantesFamosos:
Código: [Seleccionar]
import java.util.ArrayList; //importamos una lista redimensionable ArrayList
//Esta clase representa una lista de cantantes famosos manejada con la clase ArrayList
public class ListaCantantesFamosos
{
private String nombreDeCantantes; //Establecemos un atributo nombre de cantantes
public ArrayList<String> listadecantantes; //Declaramos un ArrayList que contiene objetos String
public ListaCantantesFamosos(String nombre) //Constructor: creamos una lista de cantantes famosos y establecemos 3 cantantes famosos
{
nombreDeCantantes = nombre;
listadecantantes = new ArrayList<String>();
listadecantantes.add("Silvio Rodriguez");
listadecantantes.add("Pablo Milanez");
listadecantantes.add("Joan Manuel Serrat");
} //cierre del constructor
public void addNombre(String nombre_cantante) { listadecantantes.add(nombre_cantante);} //Metodo addNombre donde se agregar el nombre del cantante famoso
public String getNombre (int posicion) { //Método getNombre para obtener el nombre del cantente famoso
if (posicion >= 0 && posicion < listadecantantes.size() ) {
return listadecantantes.get(posicion); }
else { return "No existe nombre para la posición solicitada";}
} //Cierre del método
public int getTamaño () { return listadecantantes.size(); } //Cierre del método
public void removeNombre (int posicion) { //Método
if (posicion >= 0 && posicion < listadecantantes.size() ) {
listadecantantes.remove(posicion); }
else { } //else vacío. No existe nombre para la posición solicitada, no se ejecuta ninguna instrucción
} //Cierre del método removeNombre
}
Este es el código de la clase EntradaDeTeclado:
Código: [Seleccionar]
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 automáticamente 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 () {
/*//IMPORTANTÍSIMO: EN JAVA LOS OBJETOS NO SE PUEDEN COMPARAR USANDO == POR ESO ESTO NO FUNCIONARÁ
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() - 1; i++) {
if (entradaTeclado.substring (i, i+1).equals(" ") ) { //IMPORTANTÍSIMO: COMPARAMOS CON 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
Código de la clase principal TestListaCantantesFamosos:
Código: [Seleccionar]
public class TestListaCantantesFamosos
{
public static void main (String [ ] args) {
System.out.println ("Mostramos los siguientes Cantantes Famosos previamente almacenados");
ListaCantantesFamosos famosos1 = new ListaCantantesFamosos("Nombres de Cantantes Famosos introducidos por usuario");
int i = 0;
for (String nombre : famosos1.listadecantantes) { System.out.println ((i+1) + ".- " +nombre);
i++; }
boolean salida = false;
while (salida == false) {
System.out.println ("¿Desea agregar mas nombres de Cantantes Famosos?(Si/No)");
EntradaDeTeclado repsuestaSiNo = new EntradaDeTeclado();
String SiNo = repsuestaSiNo.getEntrada();
if (SiNo.equalsIgnoreCase("si")){
System.out.println ("Por favor introduzca el nombre de otro Cantante Famoso: "); EntradaDeTeclado entrada1 = new EntradaDeTeclado();
famosos1.addNombre (entrada1.getEntrada());
int j = 0;
System.out.println ("Mostramos la lista actualizada de los Cantantes Famosos");
for (String nombre : famosos1.listadecantantes) { System.out.println ((j+1) + ".- " +nombre);
j++; }
} else {System.out.println ("Gracias"); salida = true; }
}
} //Cierre del main
}
Muchas gracias por su tiempo. Saludos
Eduardo