Migliorie
This commit is contained in:
parent
38d850ccc8
commit
597612352a
@ -30,7 +30,13 @@ public class Alimentare extends Prodotto {
|
||||
|
||||
}
|
||||
|
||||
public void rimuoviProdottoScaduto(){
|
||||
|
||||
public void rimuoviProdottoScaduto() {
|
||||
if (this.checkDataScadenza()) {
|
||||
this.invalida();
|
||||
}
|
||||
}
|
||||
|
||||
public void invalida() {
|
||||
super.invalida();
|
||||
}
|
||||
}
|
||||
@ -35,7 +35,7 @@ public class Prodotto {
|
||||
public float checkQtaDisponibile(String nome, float qtaDaComprare) {
|
||||
float ritorno;
|
||||
if (!this.nome.equals(nome)) {
|
||||
ritorno = 0; // oppure potresti lanciare un'eccezione
|
||||
ritorno = 0;
|
||||
}
|
||||
|
||||
if (this.qta >= qtaDaComprare) {
|
||||
@ -47,8 +47,10 @@ public class Prodotto {
|
||||
return ritorno;
|
||||
}
|
||||
|
||||
public void updQtaMagazzino(String nome, float qtaFinale) {
|
||||
|
||||
public void updQtaMagazzino(String nome, float qtaFinale) { // decreaseQuantity
|
||||
if (this.nome.equals(nome)) {
|
||||
this.qta = qtaFinale;
|
||||
}
|
||||
}
|
||||
|
||||
public void applicaSconto() {
|
||||
@ -59,10 +61,6 @@ public class Prodotto {
|
||||
return this.qta;
|
||||
}
|
||||
|
||||
public void decreaseQuantity(float p_qta) {
|
||||
this.qta -= p_qta;
|
||||
}
|
||||
|
||||
public String getNome() {
|
||||
return this.nome;
|
||||
}
|
||||
@ -70,4 +68,8 @@ public class Prodotto {
|
||||
public float getPrezzo() {
|
||||
return this.prezzo;
|
||||
}
|
||||
|
||||
public void invalida() {
|
||||
this.nome = null;
|
||||
}
|
||||
}
|
||||
@ -21,9 +21,9 @@ public class listaSpesa {
|
||||
*/
|
||||
|
||||
static Scanner sc = new Scanner(System.in);
|
||||
static Prodotto magazzino[];
|
||||
static Prodotto scontrino[];
|
||||
static int dimensioneMagazzino = 0, dimensioneScontrino = 0, indiceMagazzino = 0, indiceScontrino = 0;
|
||||
static Prodotto magazzino[] = null;
|
||||
static Prodotto scontrino[] = null;
|
||||
static int dimensioneMagazzino = 0, dimensioneScontrino = 0;
|
||||
static String datePattern = "dd/MM/yyyy";
|
||||
static SimpleDateFormat sdf = new SimpleDateFormat(datePattern);
|
||||
|
||||
@ -53,13 +53,21 @@ public class listaSpesa {
|
||||
|
||||
magazzino = new Prodotto[dimensioneMagazzino];
|
||||
|
||||
for (int i = 0; i < dimensioneMagazzino; i++, indiceMagazzino++) {
|
||||
for (int i = 0; i < dimensioneMagazzino; i++) {
|
||||
inserisciProdotto();
|
||||
}
|
||||
pausa();
|
||||
break;
|
||||
case 2:
|
||||
System.out.print("Quanti prodotti inserire? ");
|
||||
dimensioneScontrino = sc.nextInt();
|
||||
sc.nextLine();
|
||||
|
||||
scontrino = new Prodotto[dimensioneScontrino];
|
||||
|
||||
for (int i = 0; i < dimensioneScontrino; i++) {
|
||||
inserisciProdotto();
|
||||
}
|
||||
pausa();
|
||||
break;
|
||||
case 3:
|
||||
@ -194,7 +202,7 @@ public class listaSpesa {
|
||||
prodotto = new NonAlimentare(nome, prezzo, qta, scontoFidelityCard, tipoMateriale, descrizione);
|
||||
}
|
||||
if (trovaProdottoInMagazzino(prodotto) != -1) {
|
||||
magazzino[indiceMagazzino] = prodotto;
|
||||
magazzino[trovaPosizioneLibera(magazzino)] = prodotto;
|
||||
} else {
|
||||
System.out.println("Errore: il prodotto esiste già nel magazzino.");
|
||||
pausa();
|
||||
@ -285,11 +293,11 @@ public class listaSpesa {
|
||||
if (prodottoTrovato.checkQtaDisponibile(nomeODescrizione, qta) != 0) {
|
||||
if (qta <= prodottoTrovato.checkQtaDisponibile(nomeODescrizione, qta)) {
|
||||
if (prodottoTrovato.getQta() - qta == 0) {
|
||||
System.out.println("Il prodotto è stato finito.");
|
||||
System.out.println("Attenzione: il prodotto è stato finito.");
|
||||
scontrino[trovaPosizioneLibera(scontrino)] = prodottoTrovato;
|
||||
magazzino[trovaProdottoInMagazzino(prodottoTrovato)] = null;
|
||||
} else {
|
||||
prodottoTrovato.decreaseQuantity(qta);
|
||||
prodottoTrovato.updQtaMagazzino(nomeODescrizione, prodottoTrovato.getQta() - qta);
|
||||
}
|
||||
exit = true;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user