Lettori fissi

giovedì 9 ottobre 2014

24° Applicazione: Impiegato a commissione

/**
 * classe ImpiegatoACommissione
 * pagato in percentuale sulle vendite.
 * @author roberto
 *
 */
public class ImpiegatoACommissione extends Object {

    private String nome;
    private String cognome;
    private String codiceFiscale;
    private double venditeLorde;
    private double percentualeCommissione;

    public ImpiegatoACommissione(String nome, String cognome,
            String codiceFiscale, double venditeLorde,
            double percentualeCommissione) {
       
        this.nome = nome;
        this.cognome = cognome;
        this.codiceFiscale = codiceFiscale;
//        this.venditeLorde = venditeLorde;
        setVenditeLorde(venditeLorde);                            // valida ed immagazzina vendite
//        this.percentualeCommissione = percentualeCommissione;
        setPercentualeCommissione(percentualeCommissione);        // valida la percentuale
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getCognome() {
        return cognome;
    }

    public void setCognome(String cognome) {
        this.cognome = cognome;
    }

    public String getCodiceFiscale() {
        return codiceFiscale;
    }

    public void setCodiceFiscale(String codiceFiscale) {
        this.codiceFiscale = codiceFiscale;
    }

    public double getVenditeLorde() {
        return venditeLorde;
    }

    public void setVenditeLorde(double venditeLorde) {
       
        this.venditeLorde = (venditeLorde < 0.0) ? 0.0 : venditeLorde;
    }

    public double getPercentualeCommissione() {
        return percentualeCommissione;
    }

    public void setPercentualeCommissione(double percComm) {
       
        this.percentualeCommissione = (percComm > 0.0 && percComm < 1.0) ? percComm : 0.0;
    }
   
    // calcola il guadagno
    public double guadagno()
    {
        return percentualeCommissione * venditeLorde;
    }

    @Override
    public String toString() {
       
//        return "ImpiegatoSalariato [nome=" + nome + ", cognome=" + cognome
//                + "\n, codiceFiscale=" + codiceFiscale + "\n, venditeLorde="
//                + venditeLorde + "\n, percentualeCommissione="
//                + percentualeCommissione + "]";
       
        return String.format("%s: %s %s\n%s: %s\n%s: %.2f\n%s: %.2f",
                "impiegato a commissione: ", nome, cognome,
                "codice fiscale: ", codiceFiscale,
                "vendite lorde: ", venditeLorde,
                "percentuale di commissione ", percentualeCommissione);
    }
}

public class TestImpiegatoACommissione {

    public static void main(String[] args) {
       
        ImpiegatoACommissione impiegato =
                new ImpiegatoACommissione(
                        "Sara",
                        "Rossi",
                        "SRA RSS01 A41 A123B",
                        10000,
                        06);
       
        // Acquisizione dati impiegato:
        System.out.println("Informazioni sull'impiegato dai metodi get: \n" );
        System.out.printf("Il nome risulta: %s: ", impiegato.getNome());
        System.out.printf("\nIl cognome risulta: %s: ", impiegato.getCognome());
        System.out.printf("\nIl codice fiscale risulta: %s: ", impiegato.getCodiceFiscale());
        System.out.printf("\nVendite lorde risultano: %.2f: ", impiegato.getVenditeLorde());
        System.out.printf("\nLa commissione risulta: %.2f: ", impiegato.getPercentualeCommissione());
       
        // impostazione vendite
        impiegato.setVenditeLorde(500);
        impiegato.setPercentualeCommissione(.1);
       
        System.out.printf("\n%s:\n\n%s\n", "Informazioni aggiornate con toString", impiegato);

    }
}

Nessun commento:

Posta un commento