Foro de elhacker.net

Programación => Java => Mensaje iniciado por: b14 en 22 Enero 2017, 18:40 pm



Título: Cómo crear arrays de objetos
Publicado por: b14 en 22 Enero 2017, 18:40 pm
Hola, soy nueva en Java y llevo todo el día con el mismo problema. No se por dónde tirar, llevo estrujándome el cerebro todo el día y no consigo visualizar el programa en si. Estoy creando un programa que cuando se imprima un autor, se debe de mostrar toda la información de todos los libros qéue ha escrito. Añadir un atributo nuevo en la clase Autor que será “librosEscritos: Lista(Libro)”.

He ampliado el programa para que almacene también los autores creados (los libros los almacenará cada autor creado), de manera que se dota al programa la posibilidad de listar todos los libros de autores que tengan un género (sexo) determinado y que no valgan más de un determinado precio.

Pero lo unico que consigo es esto:

Código
  1. public class Libro {
  2.  
  3.    private final String nombreLibro;
  4.    private final double precioLibro;
  5.    private final int cantidadEnStock;
  6.    private final  Autor[] autores;
  7.    private final String librosEscritos;
  8.  
  9.    public Libro(String nombreLibro, double precioLibro, int cantidadEnStock, Autor[] autores, String librosEscritos) {
  10.        this.nombreLibro = nombreLibro;
  11.        this.precioLibro = precioLibro;
  12.        this.cantidadEnStock = cantidadEnStock;
  13.        this.autores = autores;
  14.        this.librosEscritos = librosEscritos;
  15.    }
  16.  
  17.    //Metodos get y set
  18.    public String getNombre() {
  19.        return nombreLibro;
  20.    }
  21.  
  22.    public String getNombreLibro() {
  23.        return nombreLibro;
  24.    }
  25.  
  26.    public double getPrecioLibro() {
  27.        return precioLibro;
  28.    }
  29.  
  30.    public int getCantidadEnStock() {
  31.        return cantidadEnStock;
  32.    }
  33.  
  34.    public Autor[] getAutores() {
  35.        return autores;
  36.    }
  37.  
  38.    public String getLibrosEscritos() {
  39.        return librosEscritos;
  40.    }
  41.  
  42.    public String setLibrosEscritos() {
  43.        return librosEscritos;
  44.    }
  45.  
  46.    public Autor[] setAutores() {
  47.        return autores;
  48.    }
  49.  
  50.    public String setNombre() {
  51.        return nombreLibro;
  52.    }
  53.  
  54.    public double setPrecioLibro() {
  55.        return precioLibro;
  56.    }
  57.  
  58.    public int setCantidadEnStock() {
  59.        return cantidadEnStock;
  60.    }  
  61.  
  62.  
  63.  
  64.  
  65. [b]Última clase[/b]
  66.  
  67. public class Autor {
  68.  
  69.    private final String[] listaNombreAutor;
  70.    private final String email;
  71.    private final char[] listaSexoAutores;
  72.    private final Libro[] libros;
  73.    private final Libro[] listaLibrosEscritos;
  74.  
  75.    public Autor(String[] listaNombreAutor, String email, char[] listaSexoAutores, Libro[] libros, Libro[] listaLibrosEscritos) {
  76.        this.listaNombreAutor = listaNombreAutor;
  77.        this.email = email;
  78.        this.listaSexoAutores = listaSexoAutores;
  79.        this.libros = libros;
  80.        this.listaLibrosEscritos = listaLibrosEscritos;
  81.    }  
  82.  
  83.    //Metodos get y set
  84.    public String[] getListaNombreAutor() {
  85.        return listaNombreAutor;
  86.    }
  87.  
  88.    public Libro[] getListaLibrosEscritos() {
  89.        return listaLibrosEscritos;
  90.    }
  91.  
  92.    public String getEmail() {
  93.        return email;
  94.    }    
  95.  
  96.    public Libro[] getLibros() {
  97.        return libros;
  98.    }
  99.  
  100.    public char[] getListaSexoAutores() {
  101.        return listaSexoAutores;
  102.    }
  103. public char[] setListaSexoAutores() {
  104.        return listaSexoAutores;
  105.    }        
  106.  
  107.    public String[] setListaNombreAutor() {
  108.        return listaNombreAutor;
  109.    }
  110.  
  111.    public Libro[] setLibros() {
  112.        return libros;
  113.    }
  114.  
  115.    public String setEmail() {
  116.        return email;
  117. }
  118.  
¿Una vez creados los atributos que tengo en el código, como podría crear una array de esos atributos? No me aclaro nada. Muchas gracias.  :-*




· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex


Título: Re: Cómo crear arrays de objetos
Publicado por: 6hiii en 15 Marzo 2017, 03:33 am
Hola debes tener en cuenta que es mejor que manejes mas de 1 sola clase para este caso, creo que estas malogrando el código al no poder solucionarlo como lo querías hacer el comienzo, malogrando me refiero a combinar atributos de el libro con autores y viceversa.
Si defines bien lo que quieres con atributos y las clases que necesitas te ayudo con el código.

Un Saludo.