Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ALBUR

#11
Java / Re: relaciones entre clases
5 Mayo 2012, 10:46 AM
Buenos dias.

     Muchas gracias Raul por el aporte, esta pagina no la había visto y me ha sacado de varias dudas. Te cansas de ver paginas, apuntes, ejercicios pero no das con lo que buscas,

   como siempre digo hay que dar con la persona, el sitio y el momento adecuado,

gracias.
#12
Java / relaciones entre clases
1 Mayo 2012, 17:54 PM
Buenas tardes.
A ver si alguien me puede ayudar.
Tengo tres clases.

Persona, Empleado, Empresa.

clase persona con campos como

dni, nombre, apellidos.

clase empleado introduce un arrayList para añadir personas como empleados.

y una tercera Empresa (y esta es la que no se como hacerla) añade empleados y personas y muestra las personas y los empleados.
Con herencia se hace bien pero hay que hacerlo con relaciones estructurales de asocciacion y agregacion.

Alguien sabe algo de esto, he visto en gogle y aqui ejemplos pero soy un ....

Muchas gracias.




#13
Java / Re: ArrayList
29 Abril 2012, 02:32 AM
Buenas noches Raul.

No me cansaré de decirlo, y es algo que no entiendo, esto de los foros es maravilloso, sobre todo que haya personas dispuesta a ayudarte.

Gracias, y me pongo con ello.
#14
Java / Re: ArrayList
27 Abril 2012, 19:31 PM
Buenas tardes,

Vamos a ver si me explico bien (perdonadme, pero nadie nació aprendido):

Dos de las clases que tengo, son las del inicio del "post":
Nota como clase base,
Libreta donde me piden el ArrayList (con los arreglos que "hemos" realizado me vale").
y una tercera clase a la que llamo Gestor_libreta.

Lo que tiene que hacer esta nueva clase es casi lo mismo que la clase Libreta, poca cosa.

Mi duda es que no se como se relacionan estas clases para que la nueva clase pueda llamar a los metodos y pueda añadir Libreta, Nota. si deberia utilizar un ArrayList.
Por eso, perdona raul_samp por no ser tan explicito y hacerte perder el tiempo.
Si has leido el code del post, no te creas que se mas de esto, los conceptos son aislados y por eso te pedía la sintaxis de esas relaciones.

Esto es lo que tengo en la nueva clase

public class Gestor_libreta{
    private ArrayList<Libreta> libretas;
    private String gestor;
    public Gestor_libreta(String gestor){
        libretas = new ArrayList<Libreta>();
        this.gestor = gestor;
    }
    public void mostrar_nota(Libreta l, Nota n){
        for(Libreta lt : libretas){
            lt.imprimir_notas();
        }       
    }
}


Lo que quiero hacer aqui es mostrar por pantalla todas las  notas de la libreta.

No se que hago mal, por lo que te digo, no entiendo los conceptos.

#15
Java / Re: ArrayList
27 Abril 2012, 03:54 AM
Buenas noches:
         Estos son los códigos de los métodos nuevos, funcionan bien.

/**
     *Agregamos una Nota n al metodo add del ArrayList.
     *@param n, objeto Nota que se quiere anadir a la
     *clase Libreta.
     */
    public void agregar_nota(Nota n){
        for(Nota n_indice : notas){
            if(n.get_titulo().equals(n_indice.get_titulo())){
                System.out.println("ESE TITULO YA EXISTE");
                return;
            }
        }
        notas.add(n);
    }
    /**
    * Incluyo este metodo para anadir notas diretamente
    * desde la clase Libreta.
    * @param titulo, titulo de la nota.
    * @param contenido, descripción de la nota.
    * @param dia, dia de la nota.
    * @param mes, mes de la nota.
    * @param año, año de la nota.
    */
    public void anotar(String titulo, String contenido, int dia, int mes, int año){       
        n = new Nota(titulo, contenido, dia, mes, año);
        for(Nota n_indice : notas){
            if(n.get_titulo().equals(n_indice.get_titulo())){
                System.out.println("ESE TITULO YA EXISTE");
                return;
            }
        }
        notas.add(n);
    }
    /**
     * Usamos el metodo size del ArrayList
     * para que nos muestre el numero de
     * notas que hemos agregado.
     * @return int, nos devuelve un numero
     * entero de las notas añadidas.
     */   
    public int numero_de_notas(){
        return notas.size();
    }
     /**
     * Muestra las notas que se han ido añadiendo
     * a la clase libreta.
     */
    public void mostrar_notas(Nota n){
        System.out.println("==================================================");
        System.out.println("ESTAS SON TODAS LAS NOTAS DE " + titulo_libreta);
        System.out.println("==================================================");
        for(Nota nt : notas){
            nt.imprimir_nota();
        }
    }
    /**
     *Muestra totos los titulos que se han
     *anadido a la Libreta.
     *@param Nota, la clase Nota.
     *@param n, el objeto Nota.
     */
     public void mostrar_titulos(Nota n){
        System.out.println("================================================================");
        System.out.println("ESTAS SON TODOS LOS TITULOS DE LAS NOTAS DE " + titulo_libreta);
        System.out.println("================================================================");
        for(Nota nt : notas){
            System.out.println(" : " + nt.get_titulo());           
        }
    }
    /**
     * Este metodo borra una nota seleccionada
     * @param numero_nota, el numero de nota que se quiere
     * borrar, simpre sera menor que las notas agregadas.
     * @return un mesaje si el numero_nota es mayor o
     * menor que las notas agregadas.
     */
    public void borrar_nota(int numero_nota){
        if(numero_nota > notas.size()){
            System.out.println("EL NUMERO ES MAYOR QUE LAS ANOTACIONES EXISTENTES");
        }
        if(numero_nota < 0){
            System.out.println("NO EXISTE EL NUMERO");
        }
        else{
            notas.remove(numero_nota);
        }       
    }


Por otra parte quería hacer una pregunta haber si me podéis ayudar:

Tengo que implementar otra clase. ¿Cual es la estructura del método para relacionar la clase con las otras dos?
#16
Java / Re: ArrayList
25 Abril 2012, 02:00 AM
Buenas noches,

                  Muchas gracias por lo que hacéis, pero ya os habéis dado cuenta de la idea que tengo de Java, y por si fuera poco los profesores brillan por su ausencia y tardaré en tener un nivel básico.

                  Si no fuese por vosotros, el amigo Google y el boca a boca, que sería de nosotros....
                 
                  Entre lo que vosotros me vayáis diciendo lo que yo pueda sacar vou tirando, ie, no se trata de que os curréis vosotros ese código, lo arregléis y lo publiquéis y yo lo copie, si no hacer comentarios como el que ha hecho RAUL-SAMP y yo le de vueltas hasta sacar algo y lo comente.
                   Llevo mucho tiempo recorriendo foros, páginas, blog, pdfs, de todo y he encontrado varios ejemplos como este pero no los entiendo, y solo tengo que copiarlo y presentarlo. Pero de que me sirve si sigo sabiendo lo mismo, ie, NADA.

Un saludo, y muchas gracias.

#17
Java / ArrayList
23 Abril 2012, 18:09 PM
Buenas tarde,
Después de darles muchas vueltas al foro me he decidido formar parte de él, a pesar que veo poco principiante por este foro.

En primer lugar dar las gracias a esta páginas, a sus desarrolladores y colaboradores que hacen posible que personas como yo puedan seguir adelante en sus pesquisas.


Como ya he dicho he estado mirando multitud de post y no he encontrado solución a mi duda.

Tengo estas 2 clases:
     La clase Nota viene estructurada así porque es lo que me piden, ya que se trata de que sepamos basicamente para que sirven el "get", "set" "Sacar por pantalla"

     La clase Libreta, es donde configuro mi colección con ArrayList:


Estas son mis preguntas sobre la clase Libreta:
    El método "mostrar_notas" cuando lo invoco me imprime en la consola un código parecido a este (no da error), 3:[Nota@12b6c89, Nota@17b6643, Nota@eaf40c]
¿Alguien puede saber a que se debe?


la idea es que muestre todas las notas añadidas, ie, titulo, contenido y fecha. tanto si las modifico con los métodos de la clase "Nota" y luego los añado con del "método agregar_nota" de la clase "Libreta" o si los añado con el método de "anotar" también de la clase "Libreta".

¿Alguien sabría decirme como sería o que tengo mal?




Un método a implantar en la clase Libreta sería que se pudiese consultar todos los títulos que se han añadido.






//Abre la clase nota.
public class Nota{
    //Campo titulo, introduce el titulo de la nota que deseamos.
    private String titulo;
    //Campo contenido, describe la anotacion que se vaya a realizar.
    private String
contenido;
    // Dia de la nota, es un entero.
    private int dia;
    //Mes de la nota, es un entero.
    private int mes;
    //año de la nota; es un entero
    private int año;
     /**
     * Constructor, donde se inicializan los campos,
     * introduciendo los valores.
     */
    public Nota(String titulo, String contenido, int dia, int mes, int año){
        this.titulo = titulo;
        this.contenido= contenido;
        this.dia = dia;
        this.mes = mes;
        this.año = año;
    }
    /** Nos muestra el valor de la variable titulo.
     * @return a titulo.
     */
    public String get_titulo(){
        return titulo;
    }
    /** Modifica el titulo.
     * @param nuevo_titulo, el nuevo titulo de la nota.
     */
    public void set_titulo(String nuevo_titulo){
        titulo = nuevo_titulo;
    }
     /** Nos muestra el valor de la variable contenido.
     * @return a la variable contenido.
     */
    public String get_contenido(){
        return contenido;
    }
    /** Modifica el contenido.
     * @param nuevo_contenido, el nuevo contenido de la nota.
     */
    public void set_contenido(String nuevo_contenido){
        contenido = nuevo_contenido;
    }
    /** Nos muestra el valor de la variable dia.
     * @return a la variable dia.
     */
    public int get_dia(){
        return dia;       
    }
    /** Modifica el dia.
     * @param nuevo_dia, el nuevo dia de la nota.
     * @return un mensaje de error cuando el valor
     * introducido es menor que 0 o mayor que 31.
     */
    public void set_dia(int nuevo_dia){
        if(nuevo_dia <0){
            System.out.println("ENTRE UN DIA DEL MES MAYOR QUE 0 (1 - 31)");
        }
        if(nuevo_dia >31){
            System.out.println("NO ES UN DIA DEL MES (1 - 31)");
        }
        else{
            dia = nuevo_dia;               
        }
    }
    /** Nos muestra el valor de la variable mes.
     * @return a la variable mes.
     */
    public int get_mes(){       
        return mes;
    }
    /** Modifica el mes.
     * @param nuevo_mes, el nuevo mes de la nota.
     * @return un mensaje de error cuando el valor
     * introducido es menor que 0 o mayor que 12.
     */
    public void set_mes(int nuevo_mes){
        if(nuevo_mes <0){
            System.out.println("ENTRE UN NUMERO DE MES MAYOR QUE 0 (1 - 12)");
        }
        if(nuevo_mes >12){
            System.out.println("NO ES UN NUMERO DE MES VALIDO (1 - 12)");
        }
        else{
            mes = nuevo_mes;
        }
    }
   /** Nos muestra el valor de la variable año.
     * @return a la variable año.
     * @return un mensaje de error cuando el valor
     * introducido en negativo.
     */
    public int get_anio(){       
        return año;
    }
    /** Modifica el año.
     * @param nuevo_anio, el nuevo año de la nota.
     */
    public void set_anio(int nuevo_anio){
        if(nuevo_anio < 0){
            System.out.println("NO EXISTEN LOS AÑOS POSITIVOS (XXXX)");
        }
        else{
            año = nuevo_anio;
        }
    }
    /**En este metodo nos imprime una lista
     * de la nota.
     * @return nos devuelve impreso por pantallas
     * los vales de los campo que hemos introducidos
     * o modificado.
     */
    public void imprimir_nota(){
        System.out.println("          ESTAS SON MIS ANOTACIONES");
        System.out.println("          =========================");
        System.out.println("TITULO DE LA NOTA:   " + titulo);
        System.out.println("DESCRIPCION DE LA NOTA:  " +contenido);
        System.out.println("FECHA:   " + dia + "/" + mes + "/" + año);






import java.util.ArrayList;
* La clase libreta gestiona las notas, las almacena,
* en ella se pueden borrar eligiendo unos criterios,
* mostrar las notas anadidas.
*/
//Abre la clase Libreta
public class Libreta{
    /**
     * Declaro los campos,
     * @param Nota, Un ArrayList del tipo Nota y una
     * @param n, vaiable llamada n.
     * @param notas, coleccon.
     */
    private ArrayList<Nota> notas;
    private Nota n;
    /**
     * Constructor.
     * Inicializo el ArrayList del tipo Nota
     * de la colección notas.
     */
    public Libreta(){
        //Creamos el objeto ArrayList<Nota>
        notas = new ArrayList<Nota>();       
    }   
    /**
     * Usamos el metodo size del ArrayList
     * para que nos muestre el numero de
     * notas que hemos agregado.
     */   
    public int numero_de_notas(){
        return notas.size();
    }
    /**
     *Agregamos una Nota al metodo add del ArrayList.
     */
    public void agregar_nota(Nota n){
        notas.add(n);
    }
   /**
    * Incluyo este metodo para anadir notas diretamente
    * en la clase Libreta.
    * @param titulo, titulo de la nota.
    * @param contenido, descripción de la nota.
    * @param dia, dia de la nota.
    * @param mes, mes de la nota.
    * @param año, año de la nota.
    */
    public void anotar(String titulo, String contenido, int dia, int mes, int año){       
        n = new Nota(titulo, contenido, dia, mes, año);
        notas.add(n);
    }
    /**
     * Este metodo borra una nota seleccionada
     * @param numero_nota, el numero de nota que se quiere
     * borrar, simpre sera menor que las notas agregadas.
     * @return un mesaje si el numero_nota es mayor o
     * menor que las notas agregadas.
     */
    public void borrar_nota(int numero_nota){
        if(numero_nota > notas.size()){
            System.out.println("EL NUMERO ES MAYOR QUE LAS ANOTACIONES EXISTENTES");
        }
        if(numero_nota < 0){
            System.out.println("NO EXISTE EL NUMERO");
        }
        else{
            notas.remove(numero_nota);
        }       
    }
    /**
     * Muestra las notas que se han ido añadiendo.
     */
    public void mostrar_notas(){
        System.out.println(notas.size() + ":" + (notas));
    }
   
}