diff --git a/src/listaspesa/listaSpesa.java b/src/listaspesa/listaSpesa.java index 6896225..0d763ac 100644 --- a/src/listaspesa/listaSpesa.java +++ b/src/listaspesa/listaSpesa.java @@ -263,7 +263,7 @@ public class listaSpesa { } else { prodotto = new NonAlimentare(nome, prezzo, qta, scontoFidelityCard, tipoMateriale, descrizione); } - if (trovaProdottoInMagazzino(prodotto) != -1) { + if (trovaProdottoInMagazzino(prodotto) == -1) { magazzino[trovaPosizioneLibera(magazzino)] = prodotto; } else { System.out.println("Errore: il prodotto esiste giĆ  nel magazzino."); @@ -451,11 +451,19 @@ public class listaSpesa { static int trovaProdottoInMagazzino(Prodotto p_prodotto) { int ritorno = -1; - boolean exit = false; + boolean exit = true; + for (int i = 0; i < magazzino.length && exit; i++) { + if (magazzino[i] != null) { + exit = false; + } + } + for (int i = 0; i < magazzino.length && !exit; i++) { - if (magazzino[i].hashCode() == p_prodotto.hashCode()) { - ritorno = i; - exit = true; + if (magazzino[i] != null) { + if (magazzino[i].hashCode() == p_prodotto.hashCode()) { + ritorno = i; + exit = true; + } } } return ritorno;