trixy ha scritto:
Ho provato a fare la parte per inserire un articolo e per visualizzare il listino.
Purtroppo ci sono diverse cose che non vanno:
1) In gestione() puoi tranquillamente evitare il case OPZIONE_USCITA. Si può benissimo fare così:
case OPZIONE_VISUALIZZA: visualizza(); break;
}
} while (opzione != OPZIONE_USCITA);
System.exit(0);
}
E anzi, il System.exit(0) si può anche omettere. Se termina il do-while, termina il gestione(). E se termina gestione() termina il main quindi la applicazione si chiude naturalmente.
2) In leggiOpzioneMenu() andare ad usare un'altra classe solo per mostrare il menù mi pare un po' eccessivo.
3) aggiuntaArticolo() è proprio sbagliato.
Innanzitutto NON serve fare
new ProgListino(). aggiuntaArticolo() è un metodo di ISTANZA, puoi accedere a tutti i campi/metodi di istanza. Quindi NON hai bisogno di un nuovo oggetto ProgListino per poter invocare i leggiNome ecc...
E poi leggi nome restituisce un String ma tu da aggiuntaArticolo NON stai usando questo valore di ritorno. Hai invocato leggiNome ecc.. ma il valore restituito non lo usi/assegni in qualche modo.
E comunque, te lo dico subito, stai mischiando l'uso di nextInt() con nextLine() di Scanner. E questo non va bene perché crea problemi (ne ho parlato molte volte sul forum, fai una ricerca).
4) Fare metodi appositi per nome, descrizione, prezzo mi pare eccessivo. Nel mio esempio abbozzato vedi che avevo messo metodi più generali come leggiString/leggiInt/leggiFloat. Con queste 3 "primitive" di input potevi fare tutta la gestione comodamente.
trixy ha scritto:
A furia di andare dietro le correzioni di Eclipse non ci sto capendo niente,le faccio a caso....non mi sembra affato un buon modo....
Infatti ... non è proprio un buon modo, non puoi andare "a casaccio" così. A parte quello che ti può suggerire/correggere Eclipse (che può portare a risultati giusti .. o sbagliati, Eclipse NON sa cosa vuoi ottenere), dovresti cercare di "ragionare" di più tu, conoscendo anche (possibilmente) bene le regole di Java.