Salve a tutti. HO BISOGNO DI UNA SPIEGAZNINE.
1)
toString() deve restituire una stringa contenete tutti gli articoli presenti in catalogo (separati da "\n" quindi uno per riga). I singoli articoli devono essere rappresentati chiamando i relativi metodi toString che si trovano al interno di ogni classe(Libro, Libro Giallo, Dvd TUTTI extends Articolo) stampando:
LIBRO -> A: Eco, T: Baudolino, Prezzo: 25, Codice: Eco1
LIBRO GIALLO -> A: Eco, T: Baudolino, Prezzo: 23, Codice: Eco3, Protagonista: Montalbano
DVD -> Reg: Kubrick, T: Spartacus Prezzo: 20, Codice: Kub1
codice:@Override public String toString(){ String s = ""; for(int i=0; i<numArticoli; i++){ //s+=catalogo[i].toString() + "\n"; s+=catalogo[i] + "\n"; } s += "Nummero Articoli " + numArticoli + "\n"; return s; }
In che modo potrei richiamare i relativi metodi toString(), perche come e adeso il codice mi stampa solo il prezzo e il codice che si trovano nel toString() della class Articolo.
2)
Restituisce il libro che costa meno tra tutti quelli il cui titolo contiene la stringa s. Restituisce null se non ci sono libri che contengono la stringa s nel titolo.(int cerca_libro_economico(String s))
grazie mile della vostra atenzionee spero che ci sia qualcuno che mi dara una mano.codice:// crea un catalogo che puo' contenere al massimo max_articoli // (e' necessario stabilire un massimo per potere allocare // un array che rappresenta il catalogo). // Inizialmente il catalogo e' vuoto (non contiene articoli) class Amazon { public int Max_Articoli; // numero massimo di articoli public int numArticoli; // numero di articoli attualmente in catalogo Articolo[] catalogo; // array - catalogo Amazon(int max_articoli){ Max_Articoli = max_articoli; catalogo = new Articolo[Max_Articoli]; // alloco array di articoli numArticoli = 0; } // tenta di aggiungere l'articolo a al catalogo. L'articolo puo' essere // aggiunto se non si e' raggiunta la capienza massima del catalogo // e se a e' diverso da tutti gli oggetti gia' presenti in catalogo // (diverso nel senso del metodo equals della classe articolo) // Il metodo restituisce true se l'articolo viene aggiunto, false altrimenmti. boolean aggiungi_articolo(Articolo a){ int i, flag = 0; if(Max_Articoli < numArticoli){ //flag=1; //System.out.println("E stato raggiunto il NUMERO MAX di articoli"); return false; } for(i=0; i<this.numArticoli ;i++){ //System.out.println("A: " + a); //System.out.println("THIS: " + this.catalogo[i]); if(catalogo[i].Codice.equals(a.Codice)){ flag = 1; //System.out.println("L'Articolo e PRESENTE nel Catalogo"); return false; } } if(flag == 0){ if(this.numArticoli < Max_Articoli){ catalogo[i]=new Articolo(a.Prezzo, a.Codice); this.numArticoli+=1; //System.out.println("L'Articolo e stato INSERITO nel Catalogo"); return true; } } return false; } int cerca_libro_economico(String s){ int i, trovati=0; for(i=0; i<this.numArticoli; i++){ if( ){ // il libro che costa meno tra tutti quelli il cui titolo contiene la stringa s trovati+=1; } } return trovati; }