Nuovi controlli

This commit is contained in:
La Programmatrice Verde
2025-10-21 22:58:32 +02:00
parent 5b974081a5
commit 614802ea09

View File

@@ -52,10 +52,18 @@ public class listaSpesa {
dimensioneMagazzino = sc.nextInt();
sc.nextLine();
magazzino = new Prodotto[dimensioneMagazzino];
if (magazzino.equals(null)) {
magazzino = new Prodotto[dimensioneMagazzino];
for (int i = 0; i < dimensioneMagazzino; i++) {
inserisciProdotto();
for (int i = 0; i < dimensioneMagazzino; i++) {
inserisciProdotto();
}
} else {
magazzino = Arrays.copyOf(magazzino, magazzino.length + dimensioneMagazzino,
magazzino.getClass());
for (int i = magazzino.length - dimensioneMagazzino; i < magazzino.length; i++) {
inserisciProdotto();
}
}
pausa();
break;
@@ -64,19 +72,36 @@ public class listaSpesa {
dimensioneScontrino = sc.nextInt();
sc.nextLine();
scontrino = new Prodotto[dimensioneScontrino];
if (scontrino.equals(null)) {
scontrino = new Prodotto[dimensioneScontrino];
for (int i = 0; i < dimensioneScontrino; i++) {
inserisciProdotto();
for (int i = 0; i < dimensioneScontrino; i++) {
inserisciDatiScontrino();
}
} else {
scontrino = Arrays.copyOf(scontrino, scontrino.length + dimensioneScontrino,
scontrino.getClass());
for (int i = scontrino.length - dimensioneScontrino; i < scontrino.length; i++) {
inserisciDatiScontrino();
}
}
pausa();
break;
case 3:
stampaScontrino();
if (!scontrino.equals(null)) {
stampaScontrino();
} else {
System.out.println("Errore: è necessario inserire uno scontrino prima di mostrarlo.");
}
pausa();
break;
case 4:
rimuoviScaduti();
if (!magazzino.equals(null)) {
rimuoviScaduti();
} else {
System.out.println(
"Errore: è necessario inserire almeno un prodotto nel magazzino prima di rimuovere quelli scaduti.");
}
pausa();
break;
default:
@@ -302,7 +327,8 @@ public class listaSpesa {
scontrino[trovaPosizioneLibera(scontrino)] = prodottoTrovato;
magazzino[trovaProdottoInMagazzino(prodottoTrovato)] = null;
} else {
prodottoTrovato.updQtaMagazzino(nomeODescrizione, prodottoTrovato.getQta() - qta);
prodottoTrovato.updQtaMagazzino(nomeODescrizione,
prodottoTrovato.getQta() - qta);
}
exit = true;
@@ -434,8 +460,10 @@ public class listaSpesa {
}
}
for (Alimentare alimentare : alimentari) {
alimentare.rimuoviProdottoScaduto();
if (!alimentari.equals(null)) {
for (Alimentare alimentare : alimentari) {
alimentare.rimuoviProdottoScaduto();
}
}
rimouviInvalidi();
}