Aiuto esercizio principiante Java - Costruire Magazzino con lista di Articoli

di il
2 risposte

Aiuto esercizio principiante Java - Costruire Magazzino con lista di Articoli

Salve, ho problema con un esercizio di programmazione in Java, su Eclipse. Premetto che sono riuscito a svolgere tutti i punti tranne quello finale della classe test, ovvero, ho costruito il magazzino con tre articoli ma si vede che sbaglio qualcosa e il programma mi indica errore... qualcuno potrebbe dirmi cosa ho sbagliato? Di seguito testo e codice:
"Si progetti una classe Articolo con tre variabili di istanza: descrizione, prezzo unitario e quantità.
Si progetti una classe Magazzino con due variabili d'istanza: un nome di tipo String e una lista di
articoli di tipo array di Articolo.
Si scrivano i metodi della classe Magazzino per calcolare:
- dato un parametro intero n, il numero di articoli la cui quantità è minore o uguale a n
(ritorna un intero);
- il valore totale degli articoli del magazzino (ritorna un double);
- se la quantità di tutti gli articoli è diversa da 0 (ritorna un boolean).
Infine si progetti una classe di test che costruisce un magazzino con tre articoli, invoca tutti i
metodi, e ne stampa i risultati"

Codice (include le 3 classi): https://pastecode.xyz/view/63a1de0

2 Risposte

  • Re: Aiuto esercizio principiante Java - Costruire Magazzino con lista di Articoli

    alfx ha scritto:


    "Si progetti una classe Articolo con tre variabili di istanza: descrizione, prezzo unitario e quantità.
    La classe Articolo non è proprio buonissima. Hai messo solo i campi, che sono direttamente accessibili dall'esterno della classe.

    alfx ha scritto:


    Si progetti una classe Magazzino con due variabili d'istanza: un nome di tipo String e una lista di articoli di tipo array di Articolo.
    La classe Magazzino è scritta abbastanza male come forma stilistica ma tecnicamente è corretta. Il nome ogniArticolo() non dà molto l'idea di cosa faccia il metodo.

    alfx ha scritto:


    Infine si progetti una classe di test che costruisce un magazzino con tre articoli, invoca tutti i
    metodi, e ne stampa i risultati"
    Ci sono almeno 2 errori evidenti in Test:

    1) Hai istanziato new Articolo[2] quindi gli unici indici validi sono 0 e 1. Non puoi accedere a [2] !!
    2) Istanziare l'array NON fa istanziare automaticamente gli oggetti contenuti. Tu invece parti subito con articoli[0].blabla. Ma tutti gli elementi dell'array sono inizialmente a null. Gli oggetti li DEVI istanziare singolarmente tu ed assegnarli nell'array.

    Inoltre c'è ancora un altro problema. In Test hai definito una inner-class chiamata Magazzino. Innanzitutto sicuramente non conosci le inner-class. Per poter istanziare una inner-class bisogna prima avere una istanza della classe "contenitore" (Test). Anche se l'avessi, questo Magazzino NON è la classe Magazzino che hai fatto prima. Quindi comunque non ha senso.

    Alla luce di tutto questo, rivedi il tutto.
  • Re: Aiuto esercizio principiante Java - Costruire Magazzino con lista di Articoli

    Grazie infinite, ho risolto!
    Ho creato il costruttore nella classe Articolo, istanziato gli elementi dell'array e il magazzino correttamente, e tolto l'inner-class.
Devi accedere o registrarti per scrivere nel forum
2 risposte