stampaScontrino

This commit is contained in:
La Programmatrice Verde
2025-10-21 20:58:30 +02:00
parent 07b0550f03
commit 38d850ccc8
4 changed files with 47 additions and 5 deletions

View File

@@ -19,7 +19,8 @@ public class Alimentare extends Prodotto {
}
public void stampaDati() {
super.stampaDati();
System.out.println("Data di scadenza: " + dataScadenza.toString());
}
public boolean checkDataScadenza() { //isScaduto

View File

@@ -17,6 +17,7 @@ public class NonAlimentare extends Prodotto {
this.tipoMateriale = p_tipoMateriale;
}
public void stampaDati() {
super.stampaDati();
System.out.println("Tipo materiale: " + tipoMateriale);
}
}

View File

@@ -25,7 +25,11 @@ public class Prodotto {
}
public void stampaDati() {
System.out.println("Nome prodotto: " + this.nome);
System.out.println("Prezzo prodotto: " + this.prezzo);
System.out.println("Quantità prodotto: " + this.qta);
System.out.println("Sconto con carta fedeltà: " + this.scontoFidelityCard * 100 + "%");
System.out.println("Descrizione: " + this.descrizione);
}
public float checkQtaDisponibile(String nome, float qtaDaComprare) {
@@ -48,7 +52,7 @@ public class Prodotto {
}
public void applicaSconto() {
this.prezzo = this.prezzo * this.scontoFidelityCard;
}
public float getQta() {
@@ -62,4 +66,8 @@ public class Prodotto {
public String getNome() {
return this.nome;
}
public float getPrezzo() {
return this.prezzo;
}
}

View File

@@ -94,7 +94,7 @@ public class listaSpesa {
String scelta;
String descrizione;
Prodotto prodotto;
do {
System.out.print("Inserire il nome: ");
nome = sc.nextLine();
@@ -322,7 +322,28 @@ public class listaSpesa {
}
public static void stampaScontrino() {
boolean error, fidelityCard = false;
String scelta;
do {
error = false;
System.out.print("Si ha la carta fedeltà? [S/n]");
scelta = sc.nextLine().toLowerCase();
if (scelta.equals("y") || scelta.equals("s")) {
fidelityCard = true;
} else if (scelta.equals("n")) {
fidelityCard = false;
} else {
System.out.println("Errore: opzione non valida.");
pausa();
error = true;
}
} while (error);
for (Prodotto prodotto : scontrino) {
prodotto.stampaDati();
}
System.out.println("Totale scontrino: " + totaleScontrino(fidelityCard));
}
public static boolean ricercaProdotto(String nome, boolean isAlimentare) { // prodottoExists
@@ -377,4 +398,15 @@ public class listaSpesa {
}
return ritorno;
}
static float totaleScontrino(boolean p_fidelityCard) {
float ritorno = 0;
for (Prodotto prodotto : scontrino) {
if (p_fidelityCard) {
prodotto.applicaSconto();
}
ritorno += prodotto.getPrezzo();
}
return ritorno;
}
}