EJERCICIO URGENTE

Iniciado por el_otro_yo, 1 Agosto 2012, 00:43 AM

0 Miembros y 1 Visitante están viendo este tema.

Pablo Videla

Cita de: el_otro_yo en  2 Agosto 2012, 02:06 AM
Hola, buenas noches, tengo un error con el metodo de añadir Notas comprobando el Titulo, me da error en .size
es el siguiente en negrita, no se como hacer para que compile bien.

/**
    * Introducción de Notas en la Libreta por su TiTulo.
    */
   public void anadirNota(Nota NuevaNota){
      boolean isRepeated = false;
   for (int i = 0; i<Notas.size; i++)
   {
      if (Notas.get(i).getTiTulo().equals(NuevaNota.getTiTulo()))
      {
         isRepeated = true;
      }
   }
   if (isRepeated == false)
   {
      Notas.add(NuevaNota);
      System.out.println("Se ha introducido la Nota");
   }
   else
   {
       System.out.println("Ya existe una Nota con este nombre");
   }
      
   }

muchas gracias, saludos.

Código (java) [Seleccionar]

/**
    * Introducción de Notas en la Libreta por su TiTulo.
    */
   public void anadirNota(Nota NuevaNota){
int largoArreglo=0;      
if(Notas!=null){
     int largoArreglo = Notas.size();
}
      boolean isRepeated = false;
for (int i = 0; i<largoArreglo; i++)
{
if (Notas.get(i).getTiTulo().equals(NuevaNota.getTiTulo()))
{
isRepeated = true;
}
}
if (isRepeated == false)
{
Notas.add(NuevaNota);
System.out.println("Se ha introducido la Nota");
   }
   else
   {
System.out.println("Ya existe una Nota con este nombre");
   }

}


Prueba con el cambio que te acabo de hacer xD

PD: El codigo se puede perfeccionar, debes validar todo, pero si es solo un ejercicio y no te quieres dar la molestia, entonces solo hazle el cambio que te acabo de hacer.

leogtz

No has ni puesto el código con las etiquetas GeShi ¿cómo esperas que se te ayude?
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

el_otro_yo

Primero dime como se pone el codigo con las etiquetas GeShi, porque no tengo ni idea de lo que me dices, soy novato, lo siento.

el_otro_yo

Porfavor hay alguien en este forooooo????? que quiera ayudarme???? por favor???

leogtz

Si no te tomas la molestia de colocar el código(GeShi, ahí donde escribes los mensajes, selecciona el código y luego selecciona el lenguaje ) de manera correcta nadie te va a ayudar.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

[L]ord [R]NA

Si pones el codigo entre sus etiquetas, con gusto te ayudamos

[code=java] *CODIGO AQUI* [/code ][/code]

Pablo Videla

Ahora si, me equivoque un detalle la declaracion de la variable estaba dos veces  :xD
Código (java) [Seleccionar]


/**
     * Introducción de Notas en la Libreta por su TiTulo.
     */
    public void anadirNota(Nota NuevaNota){
int largoArreglo=0;     
if(Notas!=null){
       largoArreglo = Notas.size();
}
       boolean isRepeated = false;
for (int i = 0; i<largoArreglo; i++)
{
if (Notas.get(i).getTiTulo().equals(NuevaNota.getTiTulo()))
{
isRepeated = true;
}
}
if (isRepeated == false)
{
Notas.add(NuevaNota);
System.out.println("Se ha introducido la Nota");
    }
    else
    {
System.out.println("Ya existe una Nota con este nombre");
    }

}

el_otro_yo

Muchas gracias compañero

Pablo Videla

Podrías arreglar el codigo geshi xD

lo arreglo yo para mejor lectura de los demas

PD: Cuando tenga tiempo lo veo. Saludos.

Código (java) [Seleccionar]
import java.util.ArrayList;
public class GestorLibretas
{
   //declaracion de atributos.
   private ArrayList<Libreta> Libretas;
   private ArrayList<Nota> Notas;
   int i=0;
   public GestorLibretas()
   {
        Libretas= new ArrayList <Libreta>();
        Notas= new ArrayList <Nota>();
   }  
   public ArrayList<Libreta> getLibretas()
   {
        return Libretas;
   }  
   public ArrayList<Nota> getNotas()
   {
        return Notas;
   }  
    /**
    * Inicializacion de GestorLibretas.
    */
     public void setLibreta (ArrayList<Libreta> Libretas)
   {
        this.Libretas = Libretas;
        this.Notas = Notas;
   }
   /**
    * @return El numero de Libretas que tiene actualmente el Gestor.
    */
    public int numeroDeLibretas()
    {
       return Libretas.size();
   }
   /**
    * @return El numero de Notas que tiene actualmente el Gestor.
    */
    public int numeroDeNotas()
    {
       return Notas.size();
   }
    /**
    * Introducción de Libretas en el Gestor por su TiTulo.
    */
     public void anadirLibreta(Libreta NuevaLibreta){
     int largoArreglo=0;      
      if(Libretas!=null){
      largoArreglo = Libretas.size();
     }
      boolean isRepeated = false;
 for (int i = 0; i<largoArreglo; i++)
 {
if (Libretas.get(i).getTituloLibreta().equals(NuevaLibreta.getTituloLibreta()))
{
isRepeated = true;
}
     }
 if (isRepeated == false)
 {
Libretas.add(NuevaLibreta);
System.out.println("Se ha introducido la Libreta de Titulo:   " +NuevaLibreta.getTituloLibreta());
     }
     else
     {
System.out.println("Ya existe una Libreta con ese TiTulo:       " +NuevaLibreta.getTituloLibreta());
     }

}
/** Añade Notas a ArrayList "Notas", mediante la introduccion del TiTulo de la Nota y el Titulo de Libreta.
    * Comprueba que no existe una Nota de igual nombre.
    * Si no existe ese nombre devuelve "True", en caso de que ya existiera devuelve "False" y
    * un mensaje de error.
    */
      public void anadirNota(Nota TiTulo,Libreta TituloLibreta)
    {
      if(Libretas.contains(TituloLibreta)== false && Notas.contains(TiTulo) == false)
      {
         System.out.println("Este titulo de libreta y/o de Nota no existe");
      }
      else
      {
         System.out.println("Se ha añadido la Nota");
         Notas.add(TiTulo);
      }
   }
   /**
    * Elimina Notas por su TiTulo y por el Titulo de Libreta.
    */
     public void eliminarNota(Nota TiTulo,Libreta TituloLibreta)  
     {
      if(Libretas.contains(TituloLibreta)== false && Notas.contains(TiTulo) == false)
      {
         System.out.println("El Titulo de libreta y/o de Nota no existe");
      }
      else
      {
         System.out.println("Se ha borrado la Nota");
         Notas.remove(TiTulo);
      }
   }
   /** Este metodo elimina una Libreta por su Titulo.
    *
    */
   public void eliminarLibreta(Libreta EliminaLibreta){
    int largoArreglo=0;      
      if(Libretas!=null){
      largoArreglo = Libretas.size();
     }
boolean isRepeated = false;
for (int i = 0; i<largoArreglo; i++)
{
if (Libretas.get(i).getTituloLibreta().equals(EliminaLibreta.getTituloLibreta()))
{
isRepeated = true;
Libretas.remove(EliminaLibreta);
   System.out.println("Se ha borrado la Libreta de Titulo:   " +EliminaLibreta.getTituloLibreta());
}
else
{
   System.out.println("La Libreta no existe");
}
   }
   }
    /**
    * Muestra un listado de las Libretas del GestorLibretas y su Titulo de libreta.
    */
     public void verListaLibretasPorTitulo()
     {  
      for (int i = 0; i<Libretas.size(); i++)
       {
          Libreta unaLibreta = Libretas.get(i);
          System.out.println("Libreta nº:" +i );
          System.out.println("Titulo:"+unaLibreta.getTituloLibreta());
       }
        System.out.println("--------------------------");
   }  
    /**Muestra una libreta por Titulo.
    */
      public ArrayList<Libreta> getLibretaPorTitulo(Libreta TituloLibreta)
     {
        //Se crea una lista vacía  
        ArrayList<Libreta> resultado = new ArrayList<Libreta>();
        for (int i=0; i<Libretas.size(); i++)
        {
           Libreta Lib1 = Libretas.get(i);
           //Compara el nombre buscado con los nombres de las libretas existentes.
           if (Lib1.getTituloLibreta().equals(TituloLibreta))
           {
              resultado.add(Lib1);
           }
        }
           //devuelve la lista de coincidencias.
        return resultado;
   }
    /**Busca el contenido de una Libreta por su Titulo de libreta.
    * Introduzca el Titulo de Libreta.
    */
     public void getContenido(Libreta TituloLibreta)
     {
        //Se crea una lista vacía  
        ArrayList<Libreta> resultado = new ArrayList<Libreta>();
        for (int i=0; i<Libretas.size(); i++)
        {
           Libreta lib1 = Libretas.get(i);
            //compara el titulo buscado con los titulos existentes.
           if (lib1.getTituloLibreta().equals(TituloLibreta))
           {
              resultado.add(lib1);
           }
           lib1.imprimirContenidoLibreta();
        }

   }    
    /**Busca una Titulo de una Nota por un Titulo de Libreta.
    * Introduzca el Titulo de Libreta.
    */
     public void getTiTuloNota(Libreta TituloLibreta)
   {
        //Se crea una lista vacía  
        ArrayList<Libreta> resultado = new ArrayList<Libreta>();
        for (int i=0; i<Libretas.size(); i++)
        {
           Libreta lib1 = Libretas.get(i);
           Nota unaNota = Notas.get(i);
            //compara el titulo buscado con los titulos existentes.
         if(Libretas.contains(TituloLibreta) == false)
         {
              System.out.println("Esta Libreta no existe");
         }
         else
         {
              System.out.println("Titulo de Notas:"+unaNota.getTiTulo());
         }  
        }
   }
    /**Busca una Titulo de una Libreta por un Titulo de Nota.
    * Introduzca el Titulo de Nota.
    */
     public void getTituloLibreta(Nota TiTuloNota)
     {
        //Se crea una lista vacía  
        ArrayList<Libreta> resultado = new ArrayList<Libreta>();
        for (int i=0; i<Libretas.size(); i++)
        {
           Libreta lib1 = Libretas.get(i);
           Nota unaNota = Notas.get(i);
            //compara el titulo buscado con los titulos existentes.
         if(Notas.contains(TiTuloNota) == false)
         {
              System.out.println("Esta Nota no existe");
         }
         else
         {
              System.out.println("Titulo de Libreta:"+lib1.getTituloLibreta());
         }  
        }
   }
    /**
    * Imprimir por pantalla el contenido del GestorLibretas.
    */
   public void imprimirContenidoGestorLibretas()
   {
       System.out.println("##########################################");
       System.out.println("# Libreta/s:" +Libretas);
       System.out.println("# Nota/s:" +Notas);
       System.out.println("##########################################");
   }
   /**
    * Imprimir por pantalla las estadisticas del Gestor.
    */
   public void EstadisticasGestor()
   {
       int indice=Libretas.size();
       {
           System.out.println("El Gestor  contiene  " +  indice  + "  Libretas");
       }
   }
}


DonVidela tengo estos errores en la clase GestorLibretas si puedes ayudarme te lo agradezco de verdad.

GestorLibretas: El gestor de libretas tiene ArrayList tanto de Libretas como de Notas
A dicha lista de Notas solo se le añaden notas en anadirNota(), pero dicho método solo añade notas si ya estan en la lista.
anadirLibreta() compara objetos, no títulos.
anadirNota() nunca funcionará, como se ha explicado antes.
"Elimina Notas por su TiTulo y por el Titulo de Libreta" realmente elimina por objeto.
Lo mismo en el metodo de "Elimina una Libreta por su Titulo"
En getContenido(Libreta TituloLibreta) se imprime todo, no solo cuando coincide el título. Aparte se define un ArrayList "resultado" que no se usa para nada (esto último pasa en muchos otros métodos).
La busqueda de libretas que contengan una nota dada no devuelve nada (está definida como void)
Falta un metodo que imprima las estadísticas pedidas. El método que da el total de notas no funciona, ya que simplemente lista las notas del atributo "Notas", no la suma de notas de todas las libretas.
Faltan los métodos que lista todos los libros/discos/etc de una libreta del gestor.

el_otro_yo

Perdon pero me equivoque con el color rojo al final,¿¿¿ se entiende chicos???