isEqual
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user