Autor Tema: Entrega Ejercicio CU00665B Scanner y ArrayList java  (Leído 2868 veces)

jogonzalezmor

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 26
    • Ver Perfil
Entrega Ejercicio CU00665B Scanner y ArrayList java
« en: 30 de Julio 2014, 04:20 »
Estimados, buenas noches.
Hago entrega del ejercicio CU00665B. He reutilizado nuevamente el código de la clase Entrada Teclado para no tener que escribir tanto código. Ahí les va:

Éste es el código reutilizado de EntradaTeclado
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 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("j") ) {     //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

Éste es el código de la Clase ListaCantantesFamosos
Código: [Seleccionar]
import java.util.ArrayList;
//Creamos la Clase Lista de cantantes famosos
public class ListaCantantesFamosos
{
    private String cantantesFamosos;
    private ArrayList<String>listadecantantes;

    public ListaCantantesFamosos(String nombreCantante)
    {
        cantantesFamosos = nombreCantante;
        listadecantantes = new ArrayList<String>();
        //dentro del constructor agregamos los nombres de los 3 cantantes que se inicializarán al comienzo
        //del programa.
        listadecantantes.add("Luis Andrés");
        listadecantantes.add("María José");
        listadecantantes.add("Fernanda Rodríguez");
    }//Fin del constructor

    //Creamos el método para agregar cantantes
    public void addCantante(String valor_NombreCantante){listadecantantes.add(valor_NombreCantante);}

    public String getCantante(int posicion){
        if(posicion >= 0 && posicion < listadecantantes.size()){
            return listadecantantes.get(posicion);
        }else {return "No existe cantante para la posición solicitada";
        }//Fin del if
    }//Cierre del método

    public int getTamano(){return listadecantantes.size();}//Cierre del método

    public void removeCantante(int posicion){
        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
}//Fin de la clase

Y por último, la clase para probar el ArrayList
Código: [Seleccionar]
//Creamos la clase para probar el ArrayList de Cantantes Famosos
public class TestListaCantantes
{
    //Utilizamos el mismo main del ejercicio anterior, sólo midificamos para que nos solicite dos entradas de teclado, y no 3
    public static void main(String[]args){
        System.out.println("Empezamos el programa");
        System.out.println("Por favor introduzca el nombre de un cantante"); EntradaDeTeclado entrada1 = new EntradaDeTeclado();
        System.out.println("Por favor introduzca el nombre de otro cantante"); EntradaDeTeclado entrada2 = new EntradaDeTeclado();
        System.out.println("Gracias");

        ListaCantantesFamosos lista1 = new ListaCantantesFamosos("Cantantes introducidos por usuario");
        lista1.addCantante(entrada1.getEntrada());
        lista1.addCantante(entrada2.getEntrada());
       
        System.out.println("La lista ha quedado formada por " + lista1.getTamano() + " elementos");
        //Utilizamos un for que verificará el tamaño del ArrayList y así nos muestre la cantidad de Cantantes Ingresados
        for(int i=0; i<lista1.getTamano(); i++ ){
            System.out.println("Elemento "+ i + ": " + lista1.getCantante(i));
        }//Fin del for
    }//Fin del main

}//Fin de la clase

Atento a sus comentarios, me despido.

Salu2....
« Última modificación: 31 de Agosto 2014, 11:25 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:Entrega Ejercicio CU00665B
« Respuesta #1 en: 31 de Julio 2014, 00:40 »
Hola, el código funciona bien y resuelve lo que pide el ejercicio. Lo que te diría que hay que mejorar es lo siguiente:

ListaCantantesFamosos lista1 = new ListaCantantesFamosos("Cantantes introducidos por usuario");

¿Qué es el parámetro? Es el nombre de la lista de cantantes que estás creando

Sin embargo en el constructor de la clase ListaCantantesFamosos escribes lo siguiente:

public ListaCantantesFamosos(String nombreCantante)

cuando sería más correcto

public ListaCantantesFamosos(String nombreDeLaLista) ó public ListaCantantesFamosos(String tituloDeLaLista)

El problema de poner ahí nombreCantante es que crea confusión: una persona que revise el código no entenderá qué es lo que quieres hacer. El código debe ser claro y consistente, así es como lograrás que sea "bien valorado" por quien lo revise. En este caso tienes una inconsistencia...

Saludos.


 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".