Questo è il codice dell'applicazione:
Questo è il messaggio dell'errore:codice:import java.util.Scanner; class AppFattura { public static void main(String argv[]) { Scanner t = new Scanner(System.in); Fattura[]f = new Fattura[1]; Prodotto[]prod = new Prodotto[5]; String leggiNumero; float tot_prod = 0; float tot_spesa_cliente = 0; int i,j; for(j=0;j<f.length;j++) { f[j] = new Fattura(); System.out.print("\nNumero Fattura: "); leggiNumero = t.nextLine(); f[j].setNumFat(Integer.valueOf(leggiNumero).intValue()); System.out.print("\nData Emissione Fattura: "); f[j].setData(t.nextLine()); for(i=0;i<prod.length;i++) { prod[i] = new Prodotto(); System.out.print("\nDescrizione Prodotto: "); prod[i].setDescrizione(t.nextLine()); System.out.print("\nPrezzo Unitario Prodotto: "); leggiNumero = t.nextLine(); prod[i].setPrezzoUnitario(Integer.valueOf(leggiNumero).intValue()); System.out.print("\nQuantita' acquistata: "); leggiNumero = t.nextLine(); prod[i].setQuantita(Integer.valueOf(leggiNumero).intValue()); } } for(j=0;j<f.length;j++) { for(i=0;i<prod.length;i++) { tot_prod = prod[i].getPrezzoUnitario() * prod[i].getQuantita(); tot_spesa_cliente = tot_spesa_cliente + tot_prod;} } System.out.print("\nDati Fattura: "); System.out.print("\nNumero Fattuea: "+ f[j].getNumFat()); System.out.print("\nData Emissione: "+ f[j].getData()); System.out.print("\nDescrizione Prodotti Acquistati: "); for(i=0;i<prod.length;i++) { System.out.print("\nNome Prodotto: "+ prod[i].getDescrizione()); System.out.print("\nPrezzo Unitario: "+ prod[i].getPrezzoUnitario()); System.out.print("\nQuantita' Acquistat: "+ prod[i].getQuantita()); System.out.print("\nSpesa Totale Singolo Prodotto: "+ tot_prod);} System.out.print("\nSpesa Totale Dovuta Dal Cliente: "+ tot_spesa_cliente); } }
Non capisco il motivo dell'errore. Forse ho usato troppe volte il ciclo for, ma a questo punto dovrebbe indicarmi errore anche l'indice dell'oggetto Prodotto. Non capisco.codice:
Ho convertito i valori di prezzo unitario e della quantità da Stringa a float e da Stringa a intero perchè mi dava problemi nel buffer sull'input dati.
Grazie in anticipo per le risposte.


Rispondi quotando