Files
listaSpesa/src/listaspesa/Prodotto.java
La Programmatrice Verde 1af216f415 isEqual
2025-10-22 21:44:33 +02:00

97 lines
2.7 KiB
Java

/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package listaspesa;
/**
*
* @author Verde
*/
public class Prodotto {
String nome;
float prezzo;
float qta;
float scontoFidelityCard;
String descrizione;
public Prodotto(String p_nome, float p_prezzo, float p_qta, float p_scontoFidelityCard, String p_descrizione) {
this.nome = p_nome;
this.prezzo = p_prezzo;
this.qta = p_qta;
this.scontoFidelityCard = p_scontoFidelityCard;
this.descrizione = p_descrizione;
}
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;
this.scontoFidelityCard = p_Prodotto.scontoFidelityCard;
this.descrizione = p_Prodotto.descrizione;
}
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) {
float ritorno;
if (!this.nome.equals(nome)) {
ritorno = 0;
}
if (this.qta >= qtaDaComprare) {
ritorno = qtaDaComprare;
} else {
ritorno = this.qta;
}
return ritorno;
}
public void updQtaMagazzino(String nome, float qtaFinale) { // decreaseQuantity
if (this.nome.equals(nome)) {
this.qta = qtaFinale;
}
}
public void applicaSconto() {
this.prezzo = this.prezzo - (this.prezzo * this.scontoFidelityCard);
}
public float getQta() {
return this.qta;
}
public String getNome() {
return this.nome;
}
public float getPrezzo() {
return this.prezzo;
}
public String getDescrizione() {
return this.descrizione;
}
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;
}
}