mmm no credo tu abbia strutturato male il tuo programma:
ogni istanza di libreria avrà una sua varibile di istanza "vet" , ciò significa che ogni istanza avrà un vettore a sè , diverso..
Secondo me il progetto andrebbe così composto:
-le classi "strutturali" , Libreria e Libro
-una classe di avvio programma , Main
1)La classe Libreria avrà come attributo un array di Libri di dimensione fissa n nel caso in cui vuoi che essa abbia una capienza massima di n libri , una lista in modo da poter contenere un numero indefinito di libri.
Tra le opzioni sopra trattate io sceglierei la seconda , usare una lista , poichè la gestione degli array seppur più intuitiva è in alcuni casi , come quando lo si vuole ridimensionare , più complessa rispetto all'utilizzo di una lista che gestisce tutto da sè in background.
In alternativa , e sarebbe probabilmente la scelta migliore ma anche più difficile poichè devi conoscere un po' di SQL , potresti usare un database.
Inoltre poi puoi aggiungere metodi di gestione della libreria.
2)La classe Libro sarà caratterizzata dagli attributi codice , titolo , autore e quanti altri tu vorrai , e i metodi "getter" e "setter" per rispettivamente ottenere e settare determinati attributi di un'istanza di Libro.
Giusto per dare un'idea farei qualcosa del genere (è proprio terra terra per farti capire):
classe Libreria:
codice:import java.util.LinkedList; class Libreria { private LinkedList<Libro> l; public Libreria () { l = new LinkedList<Libro> (); } public void aggiungiLibro (Libro libro) { l.add (libro); } public boolean rimuoviLibro (Libro libro) { return l.remove (libro); //restituisce false ad esempio se il libro nn c'è } public boolean contieneLibro (Libro libro) { return l.contains (libro); } public int getDimensioneLibreria () { return l.size (); } }
classe Libro:
classe Main:codice:class Libro { private String codice , titolo , autore; public Libro (String c , String t , String a) { codice = c; titolo = t; autore = a; } public String getCodice () { return codice; } public String getTitolo () { return titolo; } public String getAutore () { return autore; } }
Spero di aver reso l'idea.codice:class Main { public static void main (String [] args) { Libreria lib = new Libreria (); Libro l1 = new Libro ("123456" , "Il conte di Montecristo" , "Zipangulu"); Libro l2 = new Libro ("654321" , "Il libro di Tizio" , "Tizio"); Libro l3 = new Libro ("012345" , "Dammi un titolo" , "Caio"); lib.aggiungiLibro (l1); System.out.println ("La libreria contiene " + lib.getDimensioneLibreria () + " libro/i"); lib.aggiungiLibro (l2); lib.aggiungiLibro (l3); System.out.println ("La libreria contiene " + lib.getDimensioneLibreria () + " libro/i"); } }
![]()

Rispondi quotando