Ciao a tutti,
volevo chiedervi una vostra opinione riguardo l'errore java.lang.NullPointerException che non mi permette il corretto funzionamento del programma. Vi ringrazio per la cortese attenzione.
codice:import java.util.Scanner; public class CartoTeck_20 {static Scanner leggi= new Scanner(System.in); static Prodotto vet[]= new Prodotto[1000]; static Fornitore f[]= new Fornitore[1000]; public static void main(String[] args) {int com = 0; do{ System.out.print("I comandi sono i seguenti: \n1-Inserimento nuovo prodotto in negozio " + "\n2-Approvigionamento di ulteriori quantità di prodotto" + "\n3-Vendita prodotti" + "\n4-Calcolo valore totale merci in magazzino" + "\n5-Visualizzazione scheda prodotto" + "\n6-Visualizzazione in base al fornitore" + "\n7-Disponibilita' prodotto\n"); com=leggi.nextInt(); switch(com) {case 1: nuovoProd(); break; case 2: rifornimento(); break; case 3: vendita(); break; case 4: calMerci(); break; case 5: scheda(); break; case 6: prodForn(); break; case 7: disponibilita(); break; } }while(com!=0); } public static void nuovoProd() { int i=0; vet[i]=new Prodotto(); System.out.print("Inserire codice nuovo prodotto: "); vet[i].codiceProdotto=leggi.next(); System.out.print("Inserire descrizione prodotto: "); vet[i].descrizione=leggi.next(); System.out.print("Inserire prezzo d'acquisto:€ "); vet[i].prezzoAcquisto=leggi.nextFloat(); System.out.print("Inserire prezzo di vendita:€ "); vet[i].prezzoVendita=leggi.nextFloat(); System.out.print("Inserire quantita': "); vet[i].quantitaMag=leggi.nextInt(); fornitore(); i=i+1; } public static void rifornimento() {String cerca;int quanti=0;int i=0; System.out.print("Inserire codice prodotto: "); cerca= leggi.next(); System.out.print("Inserire quantita' prodotto: "); quanti= leggi.nextInt(); for(i=0;i<1000;i++) {if (cerca.equals(vet[i].codiceProdotto)) {vet[i].quantitaMag= quanti+vet[i].quantitaMag;} } } public static void vendita() {String cerca;int quanti=0;int i=0; System.out.print("Inserire codice prodotto: "); cerca= leggi.next(); System.out.print("Inserire quantita' prodotto: "); quanti= leggi.nextInt(); for(i=0;i<1000;i++) {if (cerca.equals(vet[i].codiceProdotto)) {vet[i].quantitaMag= vet[i].quantitaMag-quanti;} } } public static void calMerci() {int i=0;float valore=0;float valoreTot=0; for(i=0;i<1000;i++) { valore= vet[i].prezzoAcquisto * vet[i].quantitaMag; valoreTot=valore+valoreTot; } System.out.print("Il valore totale delle merci in magazzino e': "); System.out.print(valoreTot); } public static void scheda() {String cod;int i=0; System.out.print("Inserire il codice prodotto da visualizzare: "); cod=leggi.next(); for(i=0;i<1000;i++) { if(cod.equals(vet[i].codiceProdotto)) {System.out.print(vet[i].codiceProdotto); System.out.print(vet[i].descrizione); System.out.print(vet[i].prezzoAcquisto); System.out.print(vet[i].prezzoVendita); System.out.print(vet[i].quantitaMag); System.out.print(f[i].ragSoc); System.out.print(f[i].indirizzo); System.out.print(f[i].citta); } } } public static void prodForn() {String nome;int i=0; System.out.print("Inserire ragione sociale fornitore: "); nome=leggi.next(); for(i=0;i<1000;i++) { if(nome.equals(f[i].ragSoc)) {System.out.print(vet[i].codiceProdotto); System.out.print(vet[i].descrizione); System.out.print(vet[i].prezzoVendita); } } } public static void disponibilita() {int n=0;int i=0; System.out.print("Inserire quantita' minima: "); n=leggi.nextInt(); for(i=0;i<1000;i++) { if(vet[i].quantitaMag < n) {System.out.print(vet[i].codiceProdotto); System.out.println(vet[i].descrizione); } } } public static void fornitore() {int i=0; f[i]=new Fornitore(); System.out.print("Inserire ragione sociale fornitore: "); f[i].ragSoc=leggi.next(); System.out.println("Inserire indirizzo fornitore: "); f[i].indirizzo=leggi.next(); System.out.println("Inserire citta fornitore: "); f[i].citta=leggi.next(); } } public class Fornitore { String ragSoc; String indirizzo; String citta; } public class Prodotto {float prezzoAcquisto=0;float prezzoVendita=0;int quantitaMag=0; String descrizione; String codiceProdotto; }