Salve a tutti sono alle prime armi con java, e sto intraprendendo ora il capitolo relativo alle classi. ho scritto una classe chiamata cassa, che dovrebbe simulare il pagamento di alcuni oggetti inserendo il tutto in due vettori di istanza.
ho scritto una funzione che richiede i dati all'utente e li inizializza all'interno di questi. ho dato una grandezza di 15 al vettore, e ho impostato dopo l'inserimento di ogni prodotto una domanda che chiede se inserirne un altro o procedere al totale dello scontrino. il mio problema è che non riesco ad uscire dal ciclo ne con la prima ne con la seconda condizione. la prima chiede un No da tastiera in tmp e la seconda se non è più minore del vettore. continua a chiedermi di inserire prodotti finche' non mi restituisce l'indexoutofbounds. ho sbagliato a dichiarare i termini di fine ciclo? o ce qualcosa che mi sfugge sui metodi di classe e forse ho osato un pò nello scrivere?
la funzione è questa :
codice:public void acquista() { System.out.println("Inserire l'articolo che si desidera comprare"); Scanner tastiera3 = new Scanner(System.in); String tmp; int i = 0; do { System.out.println("Inserire il nome del prodotto"); this.prodotto[i] = tastiera3.next(); System.out.println("Inserire Il prezzo del prodotto:"); this.costo[i] = tastiera3.nextFloat(); i++; System.out.println("Inserire un nuovo acquisto? s/n"); tmp = tastiera3.next(); }while(tmp.equalsIgnoreCase("no")|| i < 15); }

Rispondi quotando
