Controllo extra opzione 2

This commit is contained in:
La Programmatrice Verde
2025-10-21 23:30:18 +02:00
parent 2918df2328
commit db0f5138c6

View File

@@ -83,36 +83,41 @@ public class listaSpesa {
pausa();
break;
case 2:
do {
try {
error = false;
System.out.print("Quanti prodotti inserire? ");
dimensioneScontrino = sc.nextInt();
sc.nextLine();
if (dimensioneScontrino <= 0) {
System.out.println("Errore: è necessario inserire almeno un prodotto.");
if (magazzino != null) {
do {
try {
error = false;
System.out.print("Quanti prodotti inserire? ");
dimensioneScontrino = sc.nextInt();
sc.nextLine();
if (dimensioneScontrino <= 0) {
System.out.println("Errore: è necessario inserire almeno un prodotto.");
pausa();
error = true;
}
} catch (InputMismatchException e) {
System.out.println("Errore: numero non valido.");
pausa();
error = true;
}
} catch (InputMismatchException e) {
System.out.println("Errore: numero non valido.");
pausa();
error = true;
}
} while (error);
} while (error);
if (scontrino == null) {
scontrino = new Prodotto[dimensioneScontrino];
if (scontrino == null) {
scontrino = new Prodotto[dimensioneScontrino];
for (int i = 0; i < dimensioneScontrino; i++) {
inserisciDatiScontrino();
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();
}
}
} else {
scontrino = Arrays.copyOf(scontrino, scontrino.length + dimensioneScontrino,
scontrino.getClass());
for (int i = scontrino.length - dimensioneScontrino; i < scontrino.length; i++) {
inserisciDatiScontrino();
}
System.out.println(
"Errore: è necessario popolare il magazzino prima di poter creare lo scontrino.");
}
pausa();
break;
@@ -211,7 +216,7 @@ public class listaSpesa {
if (scelta.equals("y") || scelta.equals("s")) {
isAlimentare = true;
do {
error = false;
try {
@@ -347,14 +352,17 @@ public class listaSpesa {
} while (error);
if (prodottoTrovato.checkQtaDisponibile(useNomeProdotto ? nomeODescrizione : prodottoTrovato.getNome(), qta) != 0) {
if (qta <= prodottoTrovato.checkQtaDisponibile(useNomeProdotto ? nomeODescrizione : prodottoTrovato.getNome(), qta)) {
if (prodottoTrovato.checkQtaDisponibile(
useNomeProdotto ? nomeODescrizione : prodottoTrovato.getNome(), qta) != 0) {
if (qta <= prodottoTrovato.checkQtaDisponibile(
useNomeProdotto ? nomeODescrizione : prodottoTrovato.getNome(), qta)) {
if (prodottoTrovato.getQta() - qta == 0) {
System.out.println("Attenzione: il prodotto è stato finito.");
scontrino[trovaPosizioneLibera(scontrino)] = prodottoTrovato;
magazzino[trovaProdottoInMagazzino(prodottoTrovato)] = null;
} else {
prodottoTrovato.updQtaMagazzino(useNomeProdotto ? nomeODescrizione : prodottoTrovato.getNome(),
prodottoTrovato.updQtaMagazzino(
useNomeProdotto ? nomeODescrizione : prodottoTrovato.getNome(),
prodottoTrovato.getQta() - qta);
}
exit = true;