Controlli migliori + piccole migliorie
This commit is contained in:
@@ -30,6 +30,7 @@ public class listaSpesa {
|
||||
|
||||
public static void main(String[] args) {
|
||||
int scelta = -1;
|
||||
boolean error;
|
||||
|
||||
do {
|
||||
System.out.println("Scegliere un'opzione:");
|
||||
@@ -48,9 +49,23 @@ public class listaSpesa {
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
System.out.print("Quanti prodotti inserire? ");
|
||||
dimensioneMagazzino = sc.nextInt();
|
||||
sc.nextLine();
|
||||
do {
|
||||
try {
|
||||
error = false;
|
||||
System.out.print("Quanti prodotti inserire? ");
|
||||
dimensioneMagazzino = sc.nextInt();
|
||||
sc.nextLine();
|
||||
if (dimensioneMagazzino <= 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;
|
||||
}
|
||||
} while (error);
|
||||
|
||||
if (magazzino.equals(null)) {
|
||||
magazzino = new Prodotto[dimensioneMagazzino];
|
||||
@@ -68,9 +83,23 @@ public class listaSpesa {
|
||||
pausa();
|
||||
break;
|
||||
case 2:
|
||||
System.out.print("Quanti prodotti inserire? ");
|
||||
dimensioneScontrino = sc.nextInt();
|
||||
sc.nextLine();
|
||||
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;
|
||||
}
|
||||
} while (error);
|
||||
|
||||
if (scontrino.equals(null)) {
|
||||
scontrino = new Prodotto[dimensioneScontrino];
|
||||
@@ -142,7 +171,6 @@ public class listaSpesa {
|
||||
|
||||
do {
|
||||
try {
|
||||
|
||||
error = false;
|
||||
System.out.print("Inserire il prezzo: ");
|
||||
prezzo = sc.nextFloat();
|
||||
@@ -183,19 +211,18 @@ public class listaSpesa {
|
||||
|
||||
if (scelta.equals("y") || scelta.equals("s")) {
|
||||
isAlimentare = true;
|
||||
|
||||
boolean dateError;
|
||||
|
||||
do {
|
||||
dateError = false;
|
||||
error = false;
|
||||
try {
|
||||
System.out.print("Inserire la data di scadenza nel formato " + datePattern + ": ");
|
||||
dataScadenza = sdf.parse(sc.nextLine());
|
||||
} catch (ParseException e) {
|
||||
System.out.println("Errore nella lettura della data.");
|
||||
pausa();
|
||||
dateError = true;
|
||||
error = true;
|
||||
}
|
||||
} while (dateError);
|
||||
} while (error);
|
||||
|
||||
} else if (scelta.equals("n")) {
|
||||
isAlimentare = false;
|
||||
@@ -320,14 +347,14 @@ public class listaSpesa {
|
||||
|
||||
} while (error);
|
||||
|
||||
if (prodottoTrovato.checkQtaDisponibile(nomeODescrizione, qta) != 0) {
|
||||
if (qta <= prodottoTrovato.checkQtaDisponibile(nomeODescrizione, 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(nomeODescrizione,
|
||||
prodottoTrovato.updQtaMagazzino(useNomeProdotto ? nomeODescrizione : prodottoTrovato.getNome(),
|
||||
prodottoTrovato.getQta() - qta);
|
||||
}
|
||||
exit = true;
|
||||
@@ -381,6 +408,7 @@ public class listaSpesa {
|
||||
|
||||
for (Prodotto prodotto : scontrino) {
|
||||
prodotto.stampaDati();
|
||||
System.out.println();
|
||||
}
|
||||
System.out.println("Totale scontrino: " + totaleScontrino(fidelityCard));
|
||||
}
|
||||
@@ -390,11 +418,11 @@ public class listaSpesa {
|
||||
for (int i = 0; i < magazzino.length && !ritorno; i++) {
|
||||
if (isAlimentare) {
|
||||
if (magazzino[i].getClass().getSimpleName().equals("Alimentare")) {
|
||||
ritorno = magazzino[i].getNome().equals(nome);
|
||||
ritorno = magazzino[i].getNome().contains(nome);
|
||||
}
|
||||
} else {
|
||||
if (magazzino[i].getClass().getSimpleName().equals("NonAlimentare")) {
|
||||
ritorno = magazzino[i].getNome().equals(nome);
|
||||
ritorno = magazzino[i].getNome().contains(nome);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -405,7 +433,7 @@ public class listaSpesa {
|
||||
Prodotto ritorno = null;
|
||||
boolean exit = false;
|
||||
for (int i = 0; i < magazzino.length && !exit; i++) {
|
||||
if (magazzino[i].getNome().equals(p_nomeODescrizione)) {
|
||||
if (magazzino[i].getNome().contains(p_nomeODescrizione)) {
|
||||
ritorno = magazzino[i];
|
||||
exit = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user