Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    AIUTOOOOO Chiamare i relativi metodi toString()

    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))

    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;
         }
    grazie mile della vostra atenzionee spero che ci sia qualcuno che mi dara una mano.

  2. #2

    Re: AIUTOOOOO Chiamare i relativi metodi toString()

    Originariamente inviato da DarkAngel84
    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.
    Anche Libro, Libro giallo e Dvd devono ridefinire toString(), che in questo caso viene ereditato da Articolo.

    Originariamente inviato da DarkAngel84
    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))
    Oltre al controllo del costo, sul titolo del libro (che immagino sia una istanza di String) devi invocare il metodo contains e passargli s.

  3. #3
    [RISOLTO]

    Grazie della risposta.

    1)
    codice:
    public String toString(){
            String s="-------- ARTICOLI IN CATALOGO -----------\n";
            for(int i=0; i<numArticoli; i++){
                 s+=catalogo[i].toString() + "\n";
            }
            s += "Nummero Articoli " + numArticoli + "\n";
            s+="----------- FINE CATALOGO --------------\n";
    
            return s;
         }
    toString() della classe Dvd - che e simile anche per le altre del Libro e LibroGiallo.

    codice:
    public String toString(){
            return "DVD -->" + " Regista: " + Regista + " Titolo: " + Titolo + super.toString();
         }
    2)
    codice:
    Libro cerca_libro_economico(String s){
            int i;
            Libro l,min=null;
            for (i=1;i<=numArticoli;i++) {
                if (catalogo[i] instanceof Libro) {
                    l=(Libro) catalogo[i];
                    if (l.Titolo.contains(s)) {
                        if (min==null || l.Prezzo < min.Prezzo) min=l;
                    }
                }
            }
            return min;
        }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.