This commit is contained in:
La Programmatrice Verde
2025-10-22 21:44:33 +02:00
parent f948c2e3c2
commit 1af216f415
4 changed files with 31 additions and 3 deletions

View File

@@ -4,6 +4,7 @@
*/
package listaspesa;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
@@ -12,6 +13,8 @@ import java.util.Date;
*/
public class Alimentare extends Prodotto {
Date dataScadenza;
String datePattern = "dd/MM/yyyy";
SimpleDateFormat sdf = new SimpleDateFormat(datePattern);
public Alimentare(String p_nome, float p_prezzo, float p_qta, float p_scontoFidelityCard, Date p_dataScadenza, String p_descrizione) {
super(p_nome, p_prezzo, p_qta, p_scontoFidelityCard, p_descrizione);
@@ -44,4 +47,11 @@ public class Alimentare extends Prodotto {
public void invalida() {
super.invalida();
}
public boolean isEqual(Alimentare p_Alimentare) {
boolean ritorno = super.isEqual(p_Alimentare)
&& this.sdf.format(p_Alimentare.dataScadenza).equals(this.sdf.format(this.dataScadenza));
return ritorno;
}
}

View File

@@ -21,8 +21,16 @@ public class NonAlimentare extends Prodotto {
super(p_NonAlimentare);
this.tipoMateriale = p_NonAlimentare.tipoMateriale;
}
public void stampaDati() {
super.stampaDati();
System.out.println("Tipo materiale: " + tipoMateriale);
}
public boolean isEqual(NonAlimentare p_NonAlimentare) {
boolean ritorno = super.isEqual(p_NonAlimentare)
&& p_NonAlimentare.tipoMateriale.equals(this.tipoMateriale);
return ritorno;
}
}

View File

@@ -24,7 +24,7 @@ public class Prodotto {
this.descrizione = p_descrizione;
}
public Prodotto(Prodotto p_Prodotto) { //copyProdotto, ma è costruttore quindi il nome rimane così
public Prodotto(Prodotto p_Prodotto) { // copyProdotto, ma è costruttore quindi il nome rimane così
this.nome = p_Prodotto.nome;
this.prezzo = p_Prodotto.prezzo;
this.qta = p_Prodotto.qta;
@@ -84,4 +84,14 @@ public class Prodotto {
public void invalida() {
this.nome = null;
}
public boolean isEqual(Prodotto p_prodotto) {
boolean ritorno = p_prodotto.nome.equals(this.nome) &&
p_prodotto.descrizione.equals(this.descrizione) &&
p_prodotto.prezzo == this.prezzo &&
p_prodotto.qta == this.qta &&
p_prodotto.scontoFidelityCard == this.scontoFidelityCard;
return ritorno;
}
}

View File

@@ -477,7 +477,7 @@ public class listaSpesa {
for (int i = 0; i < magazzino.length && !exit; i++) {
if (magazzino[i] != null) {
if (magazzino[i].hashCode() == p_prodotto.hashCode()) {
if (magazzino[i].isEqual(p_prodotto)) {
ritorno = i;
exit = true;
}
@@ -497,7 +497,7 @@ public class listaSpesa {
for (int i = 0; i < scontrino.length && !exit; i++) {
if (scontrino[i] != null) {
if (scontrino[i].hashCode() == p_prodotto.hashCode()) {
if (scontrino[i].isEqual(p_prodotto)) {
ritorno = i;
exit = true;
}